Hai due problemi:
- Ometti
@Consumes(MediaType.APPLICATION_JSON)
. La tua richiesta non ha nulla a che fare con json. @PathParam
s deve essere sostituito con@RequestParam
S. 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
.