如何检查spring RestController的未知查询参数?
问题内容:
我有一个基本的rest控制器,需要参数。
如果查询字符串包含未定义的参数,如何拒绝连接?
@RestController
@RequestMapping("/")
public class MyRest {
@RequestMapping(value = "/{id}", method = RequestMethod.GET)
@ResponseBody
public String content(@PathVariable id, @RequestParam(value = "page", required = false) int page) {
return id;
}
}
localhost:8080/myapp/123?pagggge=1
当前,在调用此url时,仅使用id执行该方法,而paggge
忽略未知参数。一般来说,这很好,但是如何验证它们并返回HTTP状态代码?
问题答案:
添加HttpServletRequest request
方法参数,执行
String query = request.getQueryString()
在方法主体中进行验证。