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