2つの問題があります:
-
@Consumes(MediaType.APPLICATION_JSON)
を省略します 。あなたのリクエストはjsonとは何の関係もありません。 -
@PathParam
sは@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
を指定します 。