java如何将@RequestParam映射到对象?
@RequestMapping(method = RequestMethod.GET)
@ResponseBody
public String content(
@RequestParam int a,
@RequestParam String b,
...
@RequestParam String n;
) {
}
我可以直接将所有的@RequestParam
映射到一个java对象吗
public class RestDTO {
private int a;
private String b;
private String n;
}
# 1 楼答案
如果你遇到:
这可能是因为在控制器方法中不必要地包含
@RequestParam
确保作为请求参数接收的属性在目标对象上具有getter和setter(在本例中,请求参数
a
、b
和n
):将目标对象作为参数添加到控制器方法中,但不要用
@RequestParam
注释。将为每个匹配的请求参数调用目标对象的setter方法# 2 楼答案
依我看,你有什么事要做。 内容方法如下所示:
restDTO应该有正确的setter。 你这么做的时候发生了什么
# 3 楼答案
方法:1 您需要将方法更改为POST,并可以接收DTO对象作为控制器方法的参数,如下所示。用GET方法你无法实现它,因为GET没有身体
方法:2 或者,如果您仍然想使用GET方法,则向RestDto添加一个构造函数,如下所示
在控制器中调用构造函数,如下所示: