Java 如何使Spring控制器检测意外的请求参数
如果客户端发送任何意外的请求参数,如何使SpringJava 如何使Spring控制器检测意外的请求参数,java,spring,spring-mvc,spring-boot,Java,Spring,Spring Mvc,Spring Boot,如果客户端发送任何意外的请求参数,如何使Spring@Controller返回400状态代码 例如,我有这个 public ResponseEntity<String> recommend( @RequestParam(value = "max-age-seconds", required = false) Long maxAgeSeconds) { ... } 公众响应建议( @RequestParam(value=“max age
@Controller
返回400
状态代码
例如,我有这个
public ResponseEntity<String> recommend(
@RequestParam(value = "max-age-seconds", required = false) Long maxAgeSeconds) {
...
}
公众响应建议(
@RequestParam(value=“max age seconds”,required=false)Long maxAgeSeconds){
...
}
而且客户端可能在最大年龄秒数
中有一个输入错误,我的应用程序无法识别该错误,然后返回到我稍后选择的默认最大年龄
我知道我可以通过request.getParameterNames()
获得所有请求参数的列表,并逐一检查,但我正在寻找一种更简洁、更高效的解决方案
编辑:我4年前才发现它,我想知道它是否仍然是这样。调用方法
request.getParameterMap()
,然后检查地图的大小是否为1键等于“max age seconds”,如果愿意,甚至可以验证该值。如果任何验证出错,则返回400(或者可能是300,并显示错误消息“这是斯巴达!”)。(最后一部分是一个笑话…我认为没有更好的解决方案了。。。如果存在意外参数,则需要循环使用请求参数和chek。