Spring Boot 通过注解实现数据校验的方法
#代码知识 发布时间: 2026-01-12
一、依赖
<!--https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-validation --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-validation</artifactId> <version>2.3.3.RELEASE</version> </dependency>
二、实体类
@TableField("username")
@NotBlank(message = "{user.name.notBlank}")
private String username;
@NotBlank(message = "{user.password.notBlank}")
@TableField("password")
private String password;
@NotBlank(message = "{user.email.notBlank}")
@Email(message = "{user.email.pattern}")
@TableField("email")
private String email;
三、配置
查看LocalValidationFactoryBean类的源码,发现Spring Boot默认的ValidationMessagesSource校验出错时的提示文件是在resources文件夹下文件ValidationMessages.properties
ValidationMessages.properties
user.name.notBlank=用户名不能为空 user.password.notBlank=密码不能为空 user.email.notBlank=邮箱不能为空 user.email.pattern=邮箱格式不正确
四、Controller
/**
* 添加用户
*
* @param user 用户对象
* @return
*/
@PostMapping("/insert")
public ResultVO<Object> insert(@Validated @RequestBody User user, BindingResult bindingResult) {
if (bindingResult.hasErrors()) {
List<ObjectError> allErrors = bindingResult.getAllErrors();
return ResultVOUtil.fail(allErrors.stream().map(ObjectError::getDefaultMessage).collect(Collectors.toList()));
}
userService.insert(user.doBuild());
return ResultVOUtil.success();
}
五、效果
代码知识SEO上一篇 : Vue实现穿梭框效果
下一篇 : c# 开发语音识别程序
-
SEO外包最佳选择国内专业的白帽SEO机构,熟知搜索算法,各行业企业站优化策略!
SEO公司
-
可定制SEO优化套餐基于整站优化与品牌搜索展现,定制个性化营销推广方案!
SEO套餐
-
SEO入门教程多年积累SEO实战案例,从新手到专家,从入门到精通,海量的SEO学习资料!
SEO教程
-
SEO项目资源高质量SEO项目资源,稀缺性外链,优质文案代写,老域名提权,云主机相关配置折扣!
SEO资源
-
SEO快速建站快速搭建符合搜索引擎友好的企业网站,协助备案,域名选择,服务器配置等相关服务!
SEO建站
-
快速搜索引擎优化建议没有任何SEO机构,可以承诺搜索引擎排名的具体位置,如果有,那么请您多注意!专业的SEO机构,一般情况下只能确保目标关键词进入到首页或者前几页,如果您有相关问题,欢迎咨询!