在spring MVC中向GET方法发送json对象

在spring MVC中向GET方法发送json对象,json,spring,spring-mvc,get,Json,Spring,Spring Mvc,Get,我有一个从给定表/数据类型获取所有对象的终点。我想在返回的数据上添加一些过滤功能,但无法确定如何将JSON对象传递给我的控制器 我的代码: @RequestMapping(value = "/{dataType}.json", method = RequestMethod.GET) public @ResponseBody List findAll(@PathVariable String dataType, @RequestParam(required=false) Map<St

我有一个从给定表/数据类型获取所有对象的终点。我想在返回的数据上添加一些过滤功能,但无法确定如何将JSON对象传递给我的控制器

我的代码:

    @RequestMapping(value = "/{dataType}.json", method = RequestMethod.GET)
public @ResponseBody List findAll(@PathVariable String dataType, @RequestParam(required=false) Map<String, Object> query) {
}
@RequestMapping(value=“/{dataType}.json”,method=RequestMethod.GET)
public@ResponseBody List findAll(@PathVariable String数据类型,@RequestParam(required=false)映射查询){
}
如何将数据传递给查询参数?我尝试了@modeldattribute并在请求体中发送了JSON对象,但没有成功


请帮我弄清楚这一点

您不能直接在请求参数上发送JSON。从文档中:

在地图或地图上使用@RequestParam注释时 多值映射参数,映射将填充所有 请求参数

我非常确定,您需要对要传递给服务器的json结构执行类似于调用encodeURIComponent()的操作,然后使参数仅为字符串。在服务器端,您可以使用jersey或其他工具将字符串转换回您可以操作的内容

这篇文章可以提供更多的见解: