@RequestBody可选(例如required = false)

hoc*_*ave 7 annotations spring-mvc

有没有办法让RequestParam支持的@RequestBody注释选项(例如required = false)?

我通过代码的主要途径是使用POST.但是,我还希望通过浏览器基本的http请求支持基本的GET请求以进行调试.但是,当我尝试这样做时,我得到415不支持的媒体错误.

ska*_*man 8

我通过代码的主要途径是使用POST.但是,我还希望通过浏览器支持基本的GET请求

为此,请使用注释的method属性@RequestMapping,例如

@RequestMapping(value="/myPath", method=RequestMethod.GET)
public String doSomething() {
   ...
}

@RequestMapping(value="/myPath", method=RequestMethod.POST)
public String doSomething(@RequestBody payload) {
   ...
}
Run Code Online (Sandbox Code Playgroud)


dle*_*rob 7

从Spring 3.2M1开始,@ RequestBody显然可以设置为可选:https://jira.springsource.org/browse/SPR-9239

但是我已经在Spring 3.2M2中对它进行了测试,并且即使在设置了required = false之后通过null主体发送异常,而不是通过null.这个问题已得到确认并已得到修复,附表为3.2 RC1