Vous avez deux problèmes :
- Omettre
@Consumes(MediaType.APPLICATION_JSON)
. Votre demande n'a rien à voir avec json. @PathParam
s doit être remplacé par@RequestParam
s. Les valeurs sont lues en tant que paramètres de requête (chaîne de requête) et non en tant que parties de chemin.
De plus, dans l'exemple de requête, vous devez vous débarrasser du /
supplémentaire après User
:
localhost:8080/User?userName=Daniel&...
Pour utiliser les paramètres de chemin, vous devez ajouter une annotation de chemin à la configuration de la méthode de ressource, telle que :
@RequestMapping("/{userName}/{password}/{phone}/{email}/{roles}
et la requête doit ressembler à :
localhost:8080/User/Daniel/test/0634554567/daniel/OWNER
Ce qui n'est pas du tout intuitif
Et une dernière chose :List<String> roles
est faux. Spring ne sera pas converti en une liste de chaînes, que vous utilisiez un chemin ou un paramètre de requête. Vous devrez diviser vous-même les rôles en tableau (probablement en utilisant ,
comme séparateur) ou fournir un Converter
.