sql >> Databasteknik >  >> NoSQL >> MongoDB

Java MongoDB POST:415 mediatyp som inte stöds

Du har två problem:

  1. Uteslut @Consumes(MediaType.APPLICATION_JSON) . Din begäran har ingenting med json att göra.
  2. @PathParam s bör ersättas med @RequestParam s. Värdena läses som begäranparametrar (frågesträng) och inte som sökvägsdelar.

I exemplet med begäran bör du också bli av med den extra / efter User :

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

För att använda sökvägsparametrar bör du lägga till en sökvägsanteckning till resursmetodkonfigurationen, något som:

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

och begäran ska se ut ungefär som:

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

Vilket inte alls är intuitivt

Och en sista sak:List<String> roles är fel. Spring konverterar inte till en lista med strängar, oavsett om du använder sökväg eller frågeparameter. Du måste själv dela upp rollerna i array (antagligen med ,). som en separator) eller tillhandahålla en Converter .




  1. Mongodb aggregerad fråga, eller för komplex?

  2. Finns det några fördelar med att använda ett anpassat _id för dokument i MongoDB?

  3. Uppdatera kapslade objekt i MongoDB om det finns, annars lägg till det

  4. Korrekt sätt att hantera schemaändringar i MongoDB med java-drivrutin