Tienes dos problemas:
- Omitir
@Consumes(MediaType.APPLICATION_JSON). Su solicitud no tiene nada que ver con json. @PathParams debe reemplazarse con@RequestParams. 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 .