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

 更新时间:2020年09月30日 08:48:28   作者:一个逗比程序员  
这篇文章主要介绍了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();
 }

五、效果

效果

到此这篇关于Spring Boot 通过注解实现数据校验的文章就介绍到这了,更多相关Spring Boot 数据校验内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Java关系操作符简写介绍

    Java关系操作符简写介绍

    下面小编就为大家带来一篇Java关系操作符简写介绍。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-05-05
  • spring的@Transactional注解用法解读

    spring的@Transactional注解用法解读

    这篇文章主要介绍了spring的@Transactional注解用法解读,具有一定借鉴价值,需要的朋友可以参考下
    2018-01-01
  • java8中定时任务最佳实现方式(实现原理)

    java8中定时任务最佳实现方式(实现原理)

    这篇文章主要介绍了java8中定时任务最佳实现方式,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2024-12-12
  • spring如何快速稳定解决循环依赖问题

    spring如何快速稳定解决循环依赖问题

    这篇文章主要介绍了spring如何快速稳定解决循环依赖问题,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-03-03
  • SpringBoot实现PDF添加水印的示例

    SpringBoot实现PDF添加水印的示例

    本文主要介绍了SpringBoot实现PDF添加水印的示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-05-05
  • idea的运行按钮是灰色问题及解决

    idea的运行按钮是灰色问题及解决

    这篇文章主要介绍了idea的运行按钮是灰色问题及解决,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-08-08
  • SpringBoot使用flyway初始化数据库

    SpringBoot使用flyway初始化数据库

    这篇文章主要介绍了SpringBoot如何使用flyway初始化数据库,帮助大家更好的理解和学习使用SpringBoot框架,感兴趣的朋友可以了解下
    2021-03-03
  • Java Scanner的使用和hasNextXXX()的用法说明

    Java Scanner的使用和hasNextXXX()的用法说明

    这篇文章主要介绍了Java Scanner的使用和hasNextXXX()的用法说明,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-10-10
  • 详解如何使用XML配置来定义和管理Spring Bean

    详解如何使用XML配置来定义和管理Spring Bean

    XML 配置文件是 Spring 中传统的 Bean 配置方式,通过定义 XML 元素来描述 Bean 及其依赖关系,在 Spring 框架中,Bean 是由 Spring IoC(控制反转)容器管理的对象,本文将详细介绍如何使用 XML 配置来定义和管理 Spring Bean,需要的朋友可以参考下
    2024-06-06
  • 举例讲解Java中final关键字的用法

    举例讲解Java中final关键字的用法

    Java中的final关键字可以被用来修饰变量、方法和类等,意味着终结、不可改变,下面我们就来举例讲解Java中final关键字的用法:
    2016-06-06

最新评论