Hai due problemi:
- Ometti
@Consumes(MediaType.APPLICATION_JSON). La tua richiesta non ha nulla a che fare con json. @PathParams deve essere sostituito con@RequestParamS. I valori vengono letti come parametri di richiesta (stringa di query) e non come parti di percorso.
Inoltre, nell'esempio della richiesta dovresti eliminare il / extra dopo User :
localhost:8080/User?userName=Daniel&...
Per utilizzare i parametri del percorso, dovresti aggiungere un'annotazione del percorso alla configurazione del metodo della risorsa, ad esempio:
@RequestMapping("/{userName}/{password}/{phone}/{email}/{roles}
e la richiesta dovrebbe essere simile a:
localhost:8080/User/Daniel/test/0634554567/daniel/OWNER
Che non è affatto intuitivo
E un'ultima cosa:List<String> roles è sbagliato. Spring non verrà convertito in un elenco di stringhe, indipendentemente dal fatto che utilizzi il parametro path o query. Dovrai dividere tu stesso i ruoli in array (probabilmente usando , come separatore) o fornire un Converter .