sql >> Database >  >> NoSQL >> MongoDB

Java MongoDB POST:415 niet-ondersteund mediatype

Je hebt twee problemen:

  1. Laat @Consumes(MediaType.APPLICATION_JSON) weg . Uw verzoek heeft niets te maken met json.
  2. @PathParam s moeten worden vervangen door @RequestParam s. De waarden worden gelezen als request parameters (query string) en niet als paddelen.

In het verzoekvoorbeeld moet u ook de extra / . verwijderen na User :

localhost:8080/User?userName=Daniel&...

Om padparameters te gebruiken, moet u een padannotatie toevoegen aan de configuratie van de resourcemethode, bijvoorbeeld:

@RequestMapping("/{userName}/{password}/{phone}/{email}/{roles}

en het verzoek moet er ongeveer zo uitzien:

localhost:8080/User/Daniel/test/0634554567/daniel/OWNER

Wat helemaal niet intuïtief is

En nog een laatste ding:List<String> roles is fout. Spring wordt niet geconverteerd naar een lijst met tekenreeksen, ongeacht of u een pad- of queryparameter gebruikt. Je zult de rollen zelf in een array moeten splitsen (waarschijnlijk met behulp van , als scheidingsteken) of lever een Converter .




  1. Mongodb - aantal items met addToSet

  2. MongoDB C#-stuurprogrammatypediscriminators met generieke klasse die overerft van niet-generieke basisklasse

  3. Retourneer alle velden MongoDB Aggregate

  4. Prestatievergelijking van het gebruik van Redis-hashes versus veel sleutels