Du har två problem:
- Uteslut
@Consumes(MediaType.APPLICATION_JSON)
. Din begäran har ingenting med json att göra. @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
.