Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从3.0.4升级到spring 3.2.2,RequestBody字符串将被转义_Spring_Spring Mvc - Fatal编程技术网

从3.0.4升级到spring 3.2.2,RequestBody字符串将被转义

从3.0.4升级到spring 3.2.2,RequestBody字符串将被转义,spring,spring-mvc,Spring,Spring Mvc,我们最近从3.0.4升级到了Spring3.2.2。升级后,我们注意到控制器函数中的“RequestBody”参数被转义或urlencoded。我们将Springbeans和SpringMVC的schemaLocation更新为3.2.xsd 例如,在下面的控制器功能中 @RequestMapping(value = "/getFunnyFilters", method = RequestMethod.POST) public ModelAndView getFunnyFilters(@Requ

我们最近从3.0.4升级到了Spring3.2.2。升级后,我们注意到控制器函数中的“RequestBody”参数被转义或urlencoded。我们将Springbeans和SpringMVC的schemaLocation更新为3.2.xsd

例如,在下面的控制器功能中

@RequestMapping(value = "/getFunnyFilters", method = RequestMethod.POST)
public ModelAndView getFunnyFilters(@RequestBody String body, HttpSession session) {
3.0.4中主体的值为

{"selectedFilters":{"values":[]}}
而在3.2.2中是

%7B%22selectedFilters%22%3A%7B%22values%22%3A%5B%5D%7D%7D=
我们是否缺少任何设置,或者这是3.2.2中的默认行为。如有任何意见,将不胜感激


谢谢

您能检查一下内容类型吗?您可以在HTTP请求的标题中找到它。内容类型是“application/x-www-form-urlencoded;charset=UTF-8”。您可以尝试使用
application/json
?这应该可以解决它。@Aarondigula我认为spring会向后兼容,而且这段代码在过去的一年中在3.0.4中运行良好,因此我不愿意在头文件或源代码中进行更改。也许这是一个已经修复的错误。我目前的直觉是,当您使用
x-www-form-urlencoded
时,第二个输出是正确的,因为至少
{
是必须转义的非法字符。所以问题是为什么Spring突然停止自动解码wire格式。