有没有一种“spring方法”来解析url中给定的deepobjects作为参数?假设我有一个带有json表示的“filter”对象:
{
"id": 5,
"name": "Andrew"
}
项目的文档中说,这是“deepobject”,所以当我收到这个对象作为参数的url时,我应该期望:
hostname/api/person?filter[id]=5&filter[name]=Andrew
我的问题是,我无法使用spring方法将这个参数解析为对象。在创建对象“field”之后,使用与json相同的字段。我试着用注解 @RequestParam
```
@RequestMapping(value = "api/person", method = RequestMethod.GET)
public ResponseEntity<List> getPerson(
@RequestParam Filter filter
) {
//method body..
}
而且也没有使用这个注解-根据文档,假设是这样。。。
@RequestMapping(value = "api/person", method = RequestMethod.GET)
public ResponseEntity<List> getPerson(
Filter filter
) {
//method body..
}
在这两种情况下,我的结果都是“null”。甚至,当试图将此参数解析为泛型“object”时,null也是唯一的结果。
现在我使用multivaluemap<string,string>allparams作为@requestparam之一,手动将参数解析为所需的形式,但这似乎不是最好的解决方案。
有更好(正确)的方法吗?我使用的是Java1.6和Spring4.0.9(受jdk限制)。
提前谢谢!
@根据评论进行编辑,看起来没有spring机制可以做到这一点。
暂无答案!
目前还没有任何答案,快来回答吧!