2016-06-15 19 views
0
public ResponseEntity<String> action(@RequestParam(value = "id") final String id,@RequestBody item item) 
throws IllegalAccessException { 
    System.out.println(""); 
} 

私はこのURLを押すたびに不正なリクエストエラーを受け取ります。Spring Controllerの@RequestBodyと共に@RequestParamを使用することができます

要求JSON:私は私のコントローラメソッドでのみ@RequestBodyを持っている場合

{ 
    "id": "rw121232323e", 
    "item":{ 
      "code": "shirt", 
      "qty":10 
      } 
} 

はしかし、コードが動作します。 @RequestParam@RequestBodyが一緒に使用できるかどうかを知りたい。

+0

POSTのために一般的に使用され、APIの動詞を入れて。これは@RequestMappingアノテーションの一部として言及されています。例:@RequestMapping(値= "/マッピング"、メソッド= RequestMethod.POST、 = "application/json") – Srikanta

答えて

1

提供したjsonの例では、idはリクエストパラメータではなく本体の一部です。また、 "required"属性のデフォルト値は@RequestParamであり、これはBad Requestレスポンスを受け取った理由です。あなたは(それの終わりに?id=yourIdを置くことによって)URLにパラメータを指定するか、またはあなたがこのようなリクエストパラメータを指定して次のいずれかの「RequestBody」

@RequestParam(required = false) String id 
関連する問題