Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/339.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何使Spring控制器检测意外的请求参数_Java_Spring_Spring Mvc_Spring Boot - Fatal编程技术网

Java 如何使Spring控制器检测意外的请求参数

Java 如何使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

如果客户端发送任何意外的请求参数,如何使Spring
@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。