数据校验是开发过程中一个常见的环节,一般来说,为了提高系统运行效率,都会在前端进行数据校验,但是这并不意味着不必在后端做数据校验了,因为用户还是可能在获取数据接口后手动传入非法数据,所以后端还是需要做数据校验。 Spring Boot 对此也提供了相关的自动化配置解决方案。
普通校验
添加依赖:
<dependency>-->
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-validation</artifactId>
</dependency>
项目创建成功后,查看 LocalValidatorFactoryBean
类的源码,发现默认的 ValidationMessageSource
(校验出错时的提示文件) 是 resources 目录下的 ValidationMessages.properties
文件,因此在 resource 目录下创建该文件:
user.name.size=用户名长度介于 5 到 10 个字符之间
user.address.notnull=用户地址不能为空
user.age.size=年龄输入不正确
user.email.notnull=邮箱不能为空
user.email.pattern=邮箱格式不正确
接下来创建 User 类,配置数据校验:
import javax.validation.constraints.*;
public class User {
private Integer id;
@Size(min = 5, max = 10, message = "{user.name.size}")
private String name;
@NotNull(message = "{user.address.notnull}")
private String address;
@DecimalMax(value = "200", message = "{user.age.size}")
@DecimalMin(value = "1", message = "{user.age.size}")
private Integer age;
@Email(message = "{user.email.pattern}"