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