我有一个简单的Spring 3.0控制器与PUT请求映射春3.0 MVC数据绑定PUT
@Controller
public class FooController {
@RequestMapping(value = "/foo/{id}", method = RequestMethod.PUT)
public @ResponseBody FooView put(@PathVariable String id, @Valid PutFoo putFoo, BindingResult bindingResult) {
inspector.inspect(bindingResult);
return fooService.update(id, putFoo);
}
}
当我在请求体执行PUT与Foo
参数,所述PutFoo对象不被填充/绑定该数据。如果我将HttpServletRequest添加到方法签名并打印请求的主体,那么确定数据在那里,但PutFoo
是空的。
如果我将请求方法类型更改为POST然后执行POST,这一切都和谐地工作。
为了完整起见,我打通过卷曲的端点 curl -H 'Content-Type: application/x-www-form-urlencoded' -X PUT -F "fooString=foo" http://localhost:8080/foo/9999
http://stackoverflow.com/questions/5894270/springmvc-is-导致卷曲POST使用 内容类型的multipart/form-data的数据not-recognizing-request-body-parameters-if-using-put 虽然我没有被HTTP 400拒绝,但这个问题看起来接近这个问题。我认为答案中链接的JIRA可能是我的答案太。 – markdsievers