Spring Boot 通过注解实现数据校验的方法

软件发布|下载排行|最新软件

当前位置:首页IT学院IT技术

Spring Boot 通过注解实现数据校验的方法

一个逗比程序员   2020-09-30 我要评论

本文着重讲解了Spring Boot 通过注解实现数据校验的方法,文中会用代码示例为大家做详细介绍,希望能够帮助到您,欢迎大家阅读和收藏

一、依赖

<!--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=邮箱格式不正确

ValidationMessages.properties

四、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();
 }

五、效果

效果

Copyright 2022 版权所有 软件发布 访问手机版

声明:所有软件和文章来自软件开发商或者作者 如有异议 请与本站联系 联系我们