Spring Boot 通过注解实现数据校验的方法
时间:2021-03-02 11:46:00|栏目:JAVA代码|点击: 次
一、依赖
<!--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();
}
五、效果



阅读排行
- 1Java Swing组件BoxLayout布局用法示例
- 2java中-jar 与nohup的对比
- 3Java邮件发送程序(可以同时发给多个地址、可以带附件)
- 4Caused by: java.lang.ClassNotFoundException: org.objectweb.asm.Type异常
- 5Java中自定义异常详解及实例代码
- 6深入理解Java中的克隆
- 7java读取excel文件的两种方法
- 8解析SpringSecurity+JWT认证流程实现
- 9spring boot里增加表单验证hibernate-validator并在freemarker模板里显示错误信息(推荐)
- 10深入解析java虚拟机




