Você tem dois problemas:
- Omitir
@Consumes(MediaType.APPLICATION_JSON)
. Sua solicitação não tem nada a ver com json. @PathParam
s deve ser substituído por@RequestParam
s. Os valores são lidos como parâmetros de solicitação (sequência de consulta) e não como partes do caminho.
Além disso, no exemplo de solicitação, você deve se livrar do
/
extra após User
:localhost:8080/User?userName=Daniel&...
Para usar parâmetros de caminho, você deve adicionar uma anotação de caminho à configuração do método de recurso, algo como:
@RequestMapping("/{userName}/{password}/{phone}/{email}/{roles}
e a solicitação deve ser algo como:
localhost:8080/User/Daniel/test/0634554567/daniel/OWNER
O que não é nada intuitivo
E uma última coisa:
List<String> roles
está errado. O Spring não será convertido em uma lista de strings, não importa se você usa o caminho ou o parâmetro de consulta. Você terá que dividir as funções em array (provavelmente usando ,
como separador) ou forneça um Converter
.