弹簧 mvc 何时解码查询字符串



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

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

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

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

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

{"uerIds":["123456"]}

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

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

当你调用request.getParameter("x")(Spring MVC一定会这样做)时,它已经被你解码了。

最新更新