如何使用HTTPServletRequest在spring中读取请求参数值

use*_*292 6 java url spring http

我想使用HttpServletRequest从url读取requestParams数据

http://localhost:8080/api/type?name=xyz&age=20
Run Code Online (Sandbox Code Playgroud)

我的控制器中的方法不会定义@RequestParam,它只是

@RequestMapping(value = "/**", method = RequestMethod.GET)
    public ResponseEntity<String> getResponse(
            final HttpServletRequest request) {}
Run Code Online (Sandbox Code Playgroud)

我想阅读请求只使用params而不是整个url.

小智 11

首先,为什么要定义:

@RequestMapping(value = "/**", method = RequestMethod.GET)`
Run Code Online (Sandbox Code Playgroud)

也许你应该使用:

@RequestMapping(value = "/api/type", method = RequestMethod.GET)
Run Code Online (Sandbox Code Playgroud)

并阅读参数:

request.getParameter("name");
request.getParameter("age"):
Run Code Online (Sandbox Code Playgroud)


Ral*_*lph 5

xiang对你的确切问题是正确的:"我想阅读请求只使用参数"

但是你为什么要这么难.Spring支持您,因此您不需要自己处理请求对象以执行以下常见任务:

我建议使用

@RequestMapping(value = "/*", method = RequestMethod.GET)
public ResponseEntity<String> getResponse(
    @RequestParam("name") String name
    @RequestParam("age") int age){

    ...
}
Run Code Online (Sandbox Code Playgroud)

代替.

@参见Spring参考章节15.3.2.4.使用@RequestParam将请求参数绑定到方法参数