我想验证以下@RequestMapping
的输入:
@RequestMapping(value = "/{id}", method = RequestMethod.GET)
@ResponseBody
public Response getCategory(@PathVariable("id") Long id) {
// some logic here
}
当端点的使用者传递字符串后发生以下错误:
Failed to convert value of type [java.lang.String] to required type [java.lang.Long]; nested exception is java.lang.NumberFormatException: For input string: "null"
我可以将其更改为字符串,但我相信有更好的方法可以做到。
答案 0 :(得分:3)
来自RC的答案是确保您的ID由数字组成的非常好的方法。
通常,如果要验证传入请求,还可以通过实现HandlerInterceptor创建并注册自定义拦截器,然后在重写的preHandle方法中添加验证。