我有一个包含文件和其他输入字段元素的表单。 提交如下:
var xhrArgs = {
form: attachmentForm,
handleAs: "json",
load: dojo.hitch(this, this._uploadSuccess),
error: dojo.hitch(this, this._uploadError)
};
var deferred = dojo.io.iframe.send(xhrArgs);
在后端我有一个Spring控制器监听这个POST请求,如下所示:
@RequestMapping(value="/uploadAttachment.spr", consumes = { "multipart/form-data" })
public String execute(HttpServletRequest request, HttpServletResponse response)
到目前为止一切正常。
我现在想要在POJO对象中获取所有请求参数(基本上是POST有效负载)。
我尝试添加一个@RequestBody参数,但它失败了,请求错误(400):
@RequestMapping(value="/uploadAttachment.spr", consumes = { "multipart/form-data" })
public String execute(HttpServletRequest request, HttpServletResponse response,
@RequestBody AttachmentFormModel model)
我认为它失败了,因为有效载荷不是JSON格式。
所以我的问题是:将所有请求参数自动映射到模型对象的最佳方法是什么?
答案 0 :(得分:0)
我设法使用@ModelAttribute而不是@RequestBody来解决这个问题