如果客户端发送任何意外的请求参数,如何使Spring @Controller
返回400
状态代码?
例如,我有这个
public ResponseEntity<String> recommend(
@RequestParam(value = "max-age-seconds", required = false) Long maxAgeSeconds) {
...
}
客户端可能会在max-age-seconds
中输入错字,我的应用程序无法识别,然后回退到我以后选择的默认最大年龄。
我知道我可以使用request.getParameterNames()
获取所有请求参数的列表并逐个检查,但我正在寻找更整洁,更有效的解决方案。
答案 0 :(得分:0)
如何调用方法request.getParameterMap()
,然后检查地图的大小是否为1,键等于“max-age-seconds”,如果您愿意,您甚至可以验证该值。如果您的任何验证出错,则返回400(或者可能是300,错误消息“这是斯巴达!”)。 (最后一部分是个笑话......)