有什么方法可以配置 Spring-MVC 以严格接受已知的查询字符串列表?我正在寻找验证提交的查询字符串——如果一个请求有额外的查询字符串参数,我想知道它并返回一个 404。
我的动机如下:
- 明确性:我不希望客户端粗手指请求参数,并且仍然返回结果(好像没有提供请求参数)
- HTTP 缓存:我想限制我的服务的有效 HTTP 路由的数量,以便 HTTP 缓存(即清漆)可以更好地工作
例如,我可能有一个简单的控制器,它被配置为一个RequestParam
:
@RequestMapping(value = "/selective_route", method = RequestMethod.GET)
public String printTest(@RequestParam String test) {
return test;
}
我现在希望我的应用程序接受请求并返回 OK 响应:
/selective_route?test=foo
但我希望我的应用程序注意到还有其他未计入的请求参数,并返回一个错误响应代码。
/selective_route?test=foo&someotherparam=somethingelse