我有一个包含7个以上参数的简单控制器方法,并希望使用模型对象重构它,即提取参数对象:
@RequestMapping(value="/{one}")
public String controllerMethod(@PathVariable(value="one") String one, @RequestParam String two, ... @RequestBody body) {
...
}
我尝试使用setter和getter提取对象,并且pathVariable和requestParameters按名称进行映射。但是我为@RequestBody做同样的麻烦,即使我把@RequestBody放到了setter中,它对我也不起作用......
public class Parameters {
private String one; // pathVariable
private String two; // requestParameter
private String body;// requestBody - always NULL!
// other fields definition
public setBody(@RequestBody String body) {this.body = body}
//other setters/getters
}
public void setOne(@RequestParameter(value="o") String one) {this.one = one}
答案 0 :(得分:0)
对于(1)我只是将@RequestBody作为单独的参数保留,尽管我不喜欢它。
好的,看起来做(2)和(3)的唯一方法是通过自定义数据绑定:the similar question
如果您了解它,请随意发布另一个简单的解决方案。