2つの問題があります:
-
@Consumes(MediaType.APPLICATION_JSON)を省略します 。あなたのリクエストはjsonとは何の関係もありません。 -
@PathParamsは@RequestParamに置き換える必要があります s。値は、パス部分としてではなく、要求パラメーター(クエリ文字列)として読み取られます。
また、リクエストの例では、余分な/を取り除く必要があります Userの後 :
localhost:8080/User?userName=Daniel&...
パスパラメータを使用するには、次のようなパスアノテーションをリソースメソッド構成に追加する必要があります。
@RequestMapping("/{userName}/{password}/{phone}/{email}/{roles}
リクエストは次のようになります。
localhost:8080/User/Daniel/test/0634554567/daniel/OWNER
これはまったく直感的ではありません
そして最後にもう1つ:List<String> roles 間違っている。パスまたはクエリパラメータを使用するかどうかに関係なく、Springは文字列のリストに変換されません。自分で役割を配列に分割する必要があります(おそらく,を使用して) セパレータとして)またはConverterを指定します 。