前言
在接口开发中,经常是需要对传入参数完整性进行验证的,或者对手机号格式进行验证等,而一般不了解@Valid注解之前,都是通过自己封装方法来验证,都是一堆if else集合,这样判断对于代码结构很不友好,开发效率也不高,使用@Valid注解可以快速的对参数进行验证,并且可以通过抓取全局异常,从而实现统一返回
引用
@Valid是使用hibernate validation的时候使用,其中java的jsr303声明了这类接口,hibernate-validator对其进行了实现
在进行maven整合时,需要引入的依赖
<dependency>
<groupId>org.hibernate.validator</groupId>
<artifactId>hibernate-validator</artifactId>
<version>6.0.13.Final</version>
</dependency>
一般情况下早已被其他框架引入了,只是在不存在的时候需要进行引用一下,@Valid只是验证参数是否符合要求,但是具体参数需要符合什么要求,还是需要其他注解来标志验证规则
验证规则标签
@Null 验证对象是否为null
@NotNull 验证对象是否不为null, 无法查检长度为0的字符串
@NotBlank 检查约束字符串是不是Null还有被Trim的长度是否大于0,只对字符串,且会去掉前后空格.
@NotEmpty 检查约束元素是否为NULL