spring mvc何时解码查询字符串?

时间:2015-02-03 03:19:40

标签: spring-mvc jetty urldecode

我有一个由Jetty启动的Spring MVC应用程序,并且有这样一个控制器:

@RequestMapping(value = "/users/byIds", method = RequestMethod.GET)
public ResponseEntity<String> findUsersWithIds(@RequestParam("ids") String idsJson) throws IOException {
    System.out.println(idsJson);
}

当我在浏览器中发出此网址时:

http://localhost:8080/users/byIds?ids={%22userIds%22:[%22123456%22]}

我发现方法中的idsJson已经解码:

{"uerIds":["123456"]}

只是想知道查询字符串何时被解码?这是由Spring还是Jetty完成的?在某些过滤器中?

1 个答案:

答案 0 :(得分:1)

servlet容器(这里是Jetty)就是这样做的。

当你调用request.getParameter("x")(Spring MVC必须这样做)时,它已经为你解码了。