Du har to problemer:
- Udelad
@Consumes(MediaType.APPLICATION_JSON)
. Din anmodning har intet som helst med json at gøre. @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
.