@Validated和@Valid三种异常捕获处理⽅式
⽬录
@Validated和@Valid异常捕获
异常共三种
@Valid和@Validated区别
注解位置
@Validated和@Valid异常捕获
异常共三种
BindException:表单提交有效,对于以json格式提交将会失效
MethodArgumentNotValidException:前段以json格式有效
ConstraintViolationException :参数上加@RequestParam或参数加@NotBlank @NotNull等
@Valid和@Validated区别
@Valid是使⽤Hibernate validation的时候使⽤
@Validated是只⽤Spring Validator校验机制使⽤
说明:java的JSR303声明了@Valid这类接⼝,⽽Hibernate-validator对其进⾏了实现
@Validation对@Valid进⾏了⼆次封装,在使⽤上并没有区别,但在分组、注解位置、嵌套验证等功能上有所不同,这⾥主要就这⼏种情况进⾏说明。
注解位置
@Validated:⽤在类型、⽅法和⽅法参数上。但不能⽤于成员属性(field)
@Valid:可以⽤在⽅法、构造函数、⽅法参数和成员属性(field)上
以上为个⼈经验,希望能给⼤家⼀个参考,也希望⼤家多多⽀持。