Je hebt twee problemen:
- Laat
@Consumes(MediaType.APPLICATION_JSON)
weg . Uw verzoek heeft niets te maken met json. @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
.