825 B
825 B
@Validated & @Valid
@Validated
@Validated可以用于方法级别,方法参数级别以及类级别
- 类级别:当@Validated注解用于类级别时,该类中所有的约束(例如@Max,@Size)都会被校验
- 参数级别:类似于@Valid
- 方法级别:将@Validated注解用于方法级别,会override group信息,但是不会插入切面
可以将@Validated作用于spring mvc handler的参数,也可以将其作为方法级别的验证。方法级别的验证允许覆盖validation group,但是不会作为切面。
@Validated实现原理基于spring aop,故而只有标注了@Validated注解的bean对象才会被代理并拦截
@Valid
相对于@Validated注解,@Valid注解允许应用于返回类型和field上,故而通过@Valid注解可以用于嵌套类的校验