Máte dva problémy:
- Vynechat
@Consumes(MediaType.APPLICATION_JSON). Váš požadavek nemá nic společného s json. @PathParams by mělo být nahrazeno@RequestParams. Hodnoty se čtou jako parametry požadavku (řetězec dotazu), nikoli jako části cesty.
V příkladu požadavku byste se také měli zbavit nadbytečného / po User :
localhost:8080/User?userName=Daniel&...
Chcete-li použít parametry cesty, měli byste do konfigurace metody prostředku přidat anotaci cesty, například:
@RequestMapping("/{userName}/{password}/{phone}/{email}/{roles}
a požadavek by měl vypadat nějak takto:
localhost:8080/User/Daniel/test/0634554567/daniel/OWNER
Což není vůbec intuitivní
A poslední věc:List<String> roles je špatně. Spring se nepřevede na seznam řetězců, bez ohledu na to, zda použijete cestu nebo parametr dotazu. Role budete muset rozdělit do pole sami (pravděpodobně pomocí , jako oddělovač) nebo zadejte Converter .