用springmvc解析“deepobject”url参数

s5a0g9ez  于 2021-07-24  发布在  Java
关注(0)|答案(0)|浏览(167)

有没有一种“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机制可以做到这一点。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题