如何检查Spring MVC应用程序中的请求中是否传递了请求参数/查询参数?

时间:2015-09-05 21:58:55

标签: spring spring-mvc

我有两个不同的处理请求

  1. localhost:8080/myapp/status

  2. localhost:8080/myapp/status?v

  3. 请注意,在第二个请求中,只传递一个请求参数。不需要为它设置任何值。这是要求。

    我将如何在我的控制器中处理此事?

        @RequestMapping(value = "/status", method = RequestMethod.GET)
        @ResponseBody
        public void status(
                           @RequestParam(value = "v", required = "false") final String verbose) {
    
       //check if v is in query params
              ...logic
       //else 
             ..logic
    }
    

1 个答案:

答案 0 :(得分:1)

您可以像这样使用HttpServlerRequest.getParameterMap()

@RequestMapping(value = "/status", method = RequestMethod.GET)
@ResponseBody
public void status(HttpServletRequest request) {
    boolean verbose = request.getParameterMap().containsKey("v");
    if (verbose) {
        ...
    } else {
        ...
    }
}