引入的依赖如下
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-validation</artifactId>
</dependency>
一个后端接口大致分为四个部分组成:接口地址(url)、接口请求方式(get、post等)、请求数据(request)、响应数据(response)。一个接口一般对参数(请求数据)都会进行安全校验,参数校验的重要性自然不必多说,那么如何对参数进行校验就有讲究了。Validator可以非常方便的制定校验规则,并自动帮你完成校验。首先在入参里需要校验的字段加上注解,每个注解对应不同的校验规则
1、Validator常见的注解
@null 验证对象是否为空
@notnull 验证对象是否为非空
@asserttrue 验证 boolean 对象是否为 true
@assertfalse 验证 boolean 对象是否为 false
@min 验证 number 和 string 对象是否大等于指定的值
@max 验证 number 和 string 对象是否小等于指定的值
@decimalmin 验证 number 和 string 对象是否大等于指定的值,小数存在精度 @decimalmax 验证 number 和 string 对象是否小等于指定的值,小数存在精度
@size 验证对象(array,collection,map,string)长度是否在给定的范围之内
@digits 验证 number 和 string 的构成是否合法
@past 验证 date 和 calendar 对象是否在当前时间之前
@future 验证 date 和 calendar 对象是否在当前时间之后
@pattern 验证 string 对象是否符合正则表达式的规则
@Email 验证邮箱
2、自定义校验注解
1、自定义一个注解
2、采用正则表达校验ip的格式正确性
这样就完成了自定义的校验注解,将这个ip的校验加在需要校验的ip的请求参数上即可
源码字符串非空校验
源码NotBlank到此结束
3、校验注解的方式
注意:这样做会将整个错误对象相关信息都响应给前端了!
4、全局异常处理
参数校验失败会自动引发异常,不可能再去手动捕捉异常进行处理,那正好使用SpringBoot全局异常处理来达到一劳永逸的效果!
1)自定义返回对象
2)定义异常
3)定义全局处理类
4)定义全局处理相应数据类
这样就ok了,一下就是我验证返回的错误信息了