【发布时间】:2011-12-14 05:22:48
【问题描述】:
我有以下 GET 请求:
/api/search?filter.operation=Ping&filter.namespace=
请注意参数名称包含前缀(filter. 操作,filter. 命名空间)。
然后,我想使用以下 bean 来接收这些参数:
class MessageSearchFilter {
String operation;
String namespace;
...
}
并且处理程序方法具有以下签名:
public @ResponseBody String searchMessages(MessageSearchFilter filter, ...);
但是,这不起作用,因为 Spring MVC 期望“操作”和“命名空间”属性完全像这样命名。如果我将请求更改为使用“操作”和“命名空间”(没有“过滤器。”前缀),它会起作用。
有什么方法可以告诉 Spring 期望参数以 'filter' 为前缀?
与此相关的一个附带问题是,如果我的方法签名包含多个具有冲突属性名称的表单对象,会发生什么?
【问题讨论】:
标签: spring spring-mvc spring-3