springboot-validated 随笔(1)
关键词
JSR-303 , @Valid , @Validated
JSR-303
说明:JSR-303是Java为Bean数据合法性校验提供的标准框架,它定义了一套可标注在成员变量,属性方法上的校验注解 @Valid。
@Valid && Hibernate-validator
说明:java的JSR303声明了@Valid这类接口,而Hibernate-validator对其进行了标准的实现,
@Validated && spring-boot-starter-validation
说明: 在我们引入Spring Boot web starter或者Spring boot starter validation的时候,默认会引入Hibernate Validation,@Validated是只用Spring Validator校验机制使用。
其他 @Validated @Valid 不起作用的问题
说明:从SpringBoot 2.3.0之后放弃了默认对 javax.validation 的支持,想使用需要引入依赖。
区别 @Valid @Validated
- @Validated:
注解位置: 用在类型、方法和方法参数上。但不能用于成员属性(field)
分组: 可以用在方法、构造函数、方法参数和成员属性(field)上
- @Valid:
注解位置: 可以用在方法、构造函数、方法参数和成员属性(field)上
分组: 没有分组功能
maven 依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-validation</artifactId>
</dependency>
相关借鉴
: Knife4j
https://blog.csdn.net/not_say/article/details/107366789
https://blog.csdn.net/herojuice/article/details/86020101
https://blog.csdn.net/fenglailea/article/details/99287855