我有两个不同的处理请求
localhost:8080/myapp/status
localhost:8080/myapp/status?v
请注意,在第二个请求中,只传递一个请求参数。不需要为它设置任何值。这是要求。
我将如何在我的控制器中处理此事?
@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
}
答案 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 {
...
}
}