我正在构建一个 Controller ,它接受第三方服务的请求。该服务请求 5 个参数,我需要将其绑定(bind)到 Message
类(class)。
说,我请求,我得到
?a=x&b=y&c=z&d=w&e=k&f=t
消息类是
public class Message{
String a;
String b;
String c;
String d;
String e;
String f;
public Message(String a, String b, String c, String d, String e, String f){
this.a=a;this.b=b;this.c=c;this.d=d;this.e=e;this.f=f;
}
....// along with getters and setters
}
一种选择是使用
@RequestParam
在方法 Controller 中,但是我必须传递所有参数,然后实例化 Message
手动对象。我不想这样做,因为参数计数太大。这可以使用初始化活页夹/网络数据活页夹来完成吗?如何?
最佳答案
你不需要做任何特别的事情来完成这项工作,只需声明一个 Message
Controller 方法的参数:
@RequestMapping
public String handleRequest(Message message) {
...
}
Spring 会将每个参数绑定(bind)到
Message
上的属性,哪里可以找到。如果 Message
具有 getter 和 setter(以及默认构造函数),它会正常工作。如果要使用非默认构造函数或直接字段注入(inject),则必须进行更多配置工作。
关于spring-mvc - spring 3.0 中如何绑定(bind)请求参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7194064/