1、添加Maven依赖:
<!--实体参数校验-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-validation</artifactId>
<version>2.1.3.RELEASE</version>
</dependency>
2、使用Demo:
2-1、创建Student Bean类
@Data
public class Student {
//message为不符合规则返回的信息
//校验String对象不能为空
@NotBlank(message = "学生姓名不能为空")
private String Name;
//正则校验String类型内容
@Pattern(regexp = "^1(3|4|5|7|8)\\d{9}$",message = "手机号码格式错误")
@NotBlank(message = "电话号码不能为空")
private String merchantPhone;
//校验邮箱格式
@Email(message = "邮箱格式有误")
private String mailbox;
//校验Integer对象不能为空
@NotNull(message = "年龄不能为空")
private Integer age;
}
注意:@Data注解的用法请参考《get set (类的基本方法)注解》
2-2、调用方法如下:
@PostMapping("/addStudent")
public String addStudent(@RequestBody @Valid student entity,
BindingResult bindingResult) {
if (bindingResult.hasErrors()) {
return bindingResult.getFieldError().getDefaultMessage());
}
}
注意:要在参数类型前面添加@Valid注解
2-3:更多Validation注解如下
@AssertTrue //用于boolean字段,该字段只能为true
@AssertFalse //该字段的值只能为false
@CreditCardNumber //对信用卡号进行一个大致的验证
@DecimalMax //只能小于或等于该值
@DecimalMin //只能大于或等于该值
@Digits (integer= 2 ,fraction= 20 ) //检查是否是一种数字的整数、分数,小数位数的数字。
@Email //检查是否是一个有效的email地址
@Future //检查该字段的日期是否是属于将来的日期
@Length (min=,max=) //检查所属的字段的长度是否在min和max之间,只能用于字符串
@Max //该字段的值只能小于或等于该值
@Min //该字段的值只能大于或等于该值
@NotNull //不能为null
@NotBlank //不能为空,检查时会将空格忽略
@NotEmpty //不能为空,这里的空是指空字符串
@Null //检查该字段为空
@Past //检查该字段的日期是在过去
@Size (min=, max=) //检查该字段的size是否在min和max之间,可以是字符串、数组、集合、Map等
@URL (protocol=,host,port) //检查是否是一个有效的URL,如果提供了protocol,host等,则该URL还需满足提供的条件
@Valid //该注解只要用于字段为一个包含其他对象的集合或map或数组的字段,或该字段直接为一个其他对象的引用,
更多Validation注解说明请参考:https://blog.csdn.net/xiao514353090/article/details/52699344
能驾驭的刀才是宝刀,就像记得住的知识才是属自己,否则你只能不停的百度,不如从现在开始就记下来。