sql >> Database teknologi >  >> NoSQL >> MongoDB

Java MongoDB POST:415 ikke-understøttet medietype

Du har to problemer:

  1. Udelad @Consumes(MediaType.APPLICATION_JSON) . Din anmodning har intet som helst med json at gøre.
  2. @PathParam s skal erstattes med @RequestParam s. Værdierne læses som anmodningsparametre (forespørgselsstreng) og ikke som stidele.

I anmodningseksemplet bør du også slippe af med den ekstra / efter User :

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

For at bruge stiparametre bør du tilføje en stiannotering til ressourcemetodekonfigurationen, sådan som:

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

og anmodningen skal se sådan ud som:

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

Hvilket slet ikke er intuitivt

Og en sidste ting:List<String> roles er forkert. Spring vil ikke konvertere til en liste med strenge, uanset om du bruger sti eller forespørgselsparameter. Du bliver selv nødt til at opdele rollerne i array (sandsynligvis ved at bruge ,). som en separator) eller angiv en Converter .




  1. NodeJS Mongo - Mongoose - Dynamisk samlingsnavn

  2. Mongoose valgfri søgeforespørgselsparametre?

  3. Hvordan bruger du $set i MongoDB til at opdatere en indlejret værdi/indlejret dokument?

  4. Korrekt indsæt DateTime fra c# til mongodb