私はSpring MVCを使用しており、コントローラーには機能があります:
@ResponseBody
@RequestMapping(value = "/json/negotiation/Supervisor.json", produces = "application/json", method = RequestMethod.POST)
public ExtResponse changeSupervisorStep(@RequestBody BatchModel<Supervisor> supervisors) {...}
クライアント側からリクエストを送信します (ExtJs を使用):
Ext.Ajax.request({
url : '/jur_rest/json/negotiation/Supervisor.json',
jsonData : { supervisors : {toInsert : [], toDelete : [], toUpdate : [] }}
});
3 つの配列を持つオブジェクトを取得します。しかし、クライアントからもう一度モデルを送信したいのですが、そのようなものを書くと:
@ResponseBody
@RequestMapping(value = "/json/negotiation/Supervisor.json", produces = "application/json", method = RequestMethod.POST)
public ExtResponse changeSupervisorStep(@RequestBody BatchModel<Supervisor> supervisors, @RequestBody Supervisor model) { ... }
Ext.Ajax.request({
url : '/jur_rest/json/negotiation/Supervisor.json',
jsonData : { supervisors : {toInsert : [], toDelete : [], toUpdate : [] }, model : {}}
});
エラー - 400 Bad Request が表示されます。どうしたの?ありがとう。
編集:
Spring の @RequestBody と @RequestParam を学習 する コントローラー関数で使用できる @RequestBody パラメーターは 1 つだけです。1 回のリクエストで 2 つのモデルを渡すにはどうすればよいですか? それらを1つのクラスにまとめますか?