2017-03-21 21 views
0

は、私はここで同様の答えを見てきました:春MVC要求のparam自動マッピング複雑なオブジェクト

Spring MVC: Complex object as GET @RequestParam

Spring map GET request parameters to POJO automatically

この自動マッピングはさえによって行われていないので、私は本当にこののドキュメントを見つけることができません

任意の注釈。 (これは実際には@RequestParamを必要としません)

1)これまでのところ、単純なマッピングしか表示されません。オブジェクトにはすべてのプリミティブデータが含まれていますか?リクエストが複雑なJSONオブジェクトの場合オブジェクトには他のオブジェクトが含まれていますか?自動マッピングは引き続き機能しますか?

2)これまでのところ、私はSpringコントローラが1つの自動マップオブジェクトを取ることができることを知っています。複数のオブジェクトを自動マップできるようにすることはできますか?例:

public @ResponseBody List<MyObject> myAction(MyObject myObject, 
MyObject2 myObject2) { ... } 

誰でも、マッピングがどのようにシーンの背後にあるのかを説明する文書はどこにありますか?私の2番目の質問に基づいて、もしSpringがそのようなことをすることができるなら、私はMyObjectMyObject2に同じ属性名を持っていればどうすればマッピングできますか?あなたはこのようなことを行う場合は

+0

1.はい2.は異なります。 JSONのマーシャリングとリクエストパラメータのマッピングには大きな違いがあります。基本的には、これはSpring Reference Guideで説明されています。 –

+0

'RequestMapping'はhttp://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/web/bind/annotation/RequestMapping.htmlによく書かれているはずですが、本当にできません何か手がかりを見つける。 – GMsoF

+0

私はこのことを本当に理解できません.JSONとマーシャリング要求パラメータのマーシャリングには違いがありますが、それは大きな違いです。リンクを共有しても結構ですか?それが役に立つなら、あなたは以下の答えに頼ることができます。ありがとう。 – GMsoF

答えて

0

:もちろん

public @ResponseBody List<MyObject> myAction(@RequestBody MyObject myObject) { ... } 

をあなたは、あなたのhttpリクエストで1体を持つことができます。

あなたのクラスパスにジャクソンがいる限り(スプリングブートによってこれが自動的に追加されます)、オブジェクトは正しくマーシャリングされます。

身体のJSONが正しくない場合は、400(Invalid Request)が返されます。

関連する問題