我有一个由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完成的?在某些过滤器中?
答案 0 :(得分:1)
servlet容器(这里是Jetty)就是这样做的。
当你调用request.getParameter("x")
(Spring MVC必须这样做)时,它已经为你解码了。