对于在Spring MVC中实现的简单RESTful JSON api,我可以使用Bean验证(JSR-303)来验证传递到处理程序方法中的路径变量吗?
例如:
@RequestMapping(value = "/number/{customerNumber}") @ResponseBody public ResponseObject searchByNumber(@PathVariable("customerNumber") String customerNumber) { ... }
在这里,我需要使用Bean验证来验证customerNumber变量的长度。Spring MVC v3.xx是否可能?如果没有,这种验证的最佳方法是什么?
谢谢。
Spring不支持@javax.validation.Valid对@PathVariable在处理注释的方法参数。有一个改进请求,但仍未解决。
@javax.validation.Valid
@PathVariable
最好的选择是只在处理程序方法主体中进行自定义验证,或者考虑org.springframework.validation.annotation.Validated按照其他答案中的建议使用。
org.springframework.validation.annotation.Validated