Tienes dos problemas:
- Omitir
@Consumes(MediaType.APPLICATION_JSON)
. Su solicitud no tiene nada que ver con json. @PathParam
s debe reemplazarse con@RequestParam
s. Los valores se leen como parámetros de solicitud (cadena de consulta) y no como partes de ruta.
Además, en el ejemplo de solicitud, debe deshacerse del /
extra después de User
:
localhost:8080/User?userName=Daniel&...
Para usar parámetros de ruta, debe agregar una anotación de ruta a la configuración del método de recurso, algo como:
@RequestMapping("/{userName}/{password}/{phone}/{email}/{roles}
y la solicitud debería ser algo como:
localhost:8080/User/Daniel/test/0634554567/daniel/OWNER
Lo cual no es nada intuitivo
Y una última cosa:List<String> roles
Está Mal. Spring no se convertirá en una lista de cadenas, sin importar si usa la ruta o el parámetro de consulta. Tendrá que dividir los roles en una matriz usted mismo (probablemente usando ,
como separador) o proporcione un Converter
.