@RequestBody、@ResponseBodyノートを理解します
どのように彼の過去は、フロントの採用と個別の開発モードの後端部の後に練習をし、あまりにも注意を払っていない、フロントとリアエンドはノートはJSON形式です取得するには、この時間@RequestBody、@ResponseBody 2冊のノートには、次の詳細非常に使いやすいです使用方法:
@RequestBody
1.役割:
- 注釈リクエスト要求HttpMessageConverterデフォルト設定を解析を読み取るためのシステムを使用して、データの本体部分は、その後返すオブジェクトに対応するデータに結合します。
- 次いでHttpMessageConverter結合するコントローラパラメータ方式でオブジェクトデータに戻ります。
2.機会を使用します。
決定された要求ヘッダーのContent-Typeの値に応じて、POSTの送信時刻を取得します。
application/x-www-form-urlencoded
:オプション(すなわち、必ずしも、この場合@RequestParamのデータので、@ModelAttribute処理は、もちろん、@RequestBodyを処理することができるかもしれません)。multipart/form-data
:(処理されていない、すなわち、このフォーマットを使用@RequestBodyするデータを処理することはできません)。- 他の形式は:なければならない(アプリケーション/ JSON、アプリケーション/ようなこれらのフォーマットとしてXMLデータを含む他の形式は@RequestBodyを処理しなければなりません。)。
場合PUT提出、決定するために、要求ヘッダーのContent-Typeの値に応じ。
application/x-www-form-urlencoded
:必要があります。multipart/form-data
:取り扱いできません。- 他の形式:必要があります。
たとえば、3:
これは、データがJSON形式であれば、我々は、渡された引数がオブジェクトでありたい、で、それを使用する必要があります@RequestBody
。
@RequestMapping(value = "/test", Method = RequestMethod.POST, produces = "application/json;charset="UTF-8")
@ResponseBody
public JSONObject class Test(@RequestBody Test test) {
String name = test.getName();
// 将 name 回显
Map<String, Object> map = new HashMap<>();
map.put("name", name);
JSONObject obj = JSONObject.fromObject(map);
return obj;
}
@ResponseBody
1.役割:
コントローラオブジェクトの注釈は、指定されたデータフォーマット後に適切な身体HttpMessageConverter変換領域によって、メソッドによって返され、応答オブジェクトを書き込みます。
2.機会を使用します。
HTMLページは、ラベルではなく、(などJSON、XML、など)いくつかの他のデータ形式のデータが返されました。
たとえば、3:
@RequestMapping(value = "/test", Method = RequestMethod.POST, produces = "application/json;charset="UTF-8")
@ResponseBody
public JSONObject class Test() {
JSONObject obj = new JSONObject;
obj.put("test", 1);
// 将 obj 回显
return obj;
}
参考:
https://blog.csdn.net/walkerJong/article/details/7520896
仕上がり。