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 数据校验内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 教你怎么使用Optional处理null

    教你怎么使用Optional处理null

    今天教各位小伙伴怎么使用Optional处理null,文中有非常详细的代码示例,对正在学习java的小伙伴们有很大的帮助,需要的朋友可以参考下
    2021-05-05
  • java实现将结果集封装到List中的方法

    java实现将结果集封装到List中的方法

    这篇文章主要介绍了java实现将结果集封装到List中的方法,涉及java数据库查询及结果集转换的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2016-07-07
  • Java程序员的10道常见的XML面试问答题(XML术语详解)

    Java程序员的10道常见的XML面试问答题(XML术语详解)

    包括web开发人员的Java面试在内的各种面试中,XML面试题在各种编程工作的面试中很常见。XML是一种成熟的技术,经常作为从一个平台到其他平台传输数据的标准
    2014-04-04
  • 解决mybatis竟然报Invalid value for getInt()的问题

    解决mybatis竟然报Invalid value for getInt()的问题

    使用mybatis遇到一个非常奇葩的问题,总是报Invalid value for getInt()的问题,怎么解决呢?下面小编通过场景分析给大家代来了mybatis报Invalid value for getInt()的解决方法,感兴趣的朋友参考下吧
    2021-10-10
  • 优化Java内存管理来防止“GC”错误的方法详解

    优化Java内存管理来防止“GC”错误的方法详解

    垃圾回收(GC)是 Java 中的一个重要机制,它可以管理内存并回收不再使用的对象所占用的资源,在本文中,我们将探讨一些技巧,帮助您避免这一错误,确保您的 Java 应用程序顺利运行,需要的朋友可以参考下
    2023-11-11
  • java实现遍历树形菜单两种实现代码分享

    java实现遍历树形菜单两种实现代码分享

    这篇文章主要介绍了java实现遍历树形菜单两种实现代码分享,两种实现:OpenSessionView实现、TreeAction实现。具有一定参考价值,需要的朋友可以了解下。
    2017-11-11
  • Spring与Shiro整合及加载权限表达式问题

    Spring与Shiro整合及加载权限表达式问题

    这篇文章主要介绍了Spring与Shiro整合及加载权限表达式问题,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-12-12
  • 一文教会你cmd命令运行java程序

    一文教会你cmd命令运行java程序

    这篇文章主要给大家介绍了关于如何使用cmd命令运行java程序的相关资料,这是一个非常有用的技能,特别是当您需要在没有集成开发环境(IDE)的情况下编写和运行Java代码时,需要的朋友可以参考下<BR>
    2024-06-06
  • SpringBoot获取maven打包时间的两种方式

    SpringBoot获取maven打包时间的两种方式

    这篇文章主要介绍了SpringBoot获取maven打包时间的两种方式,文章通过代码示例给大家讲解的非常详细,对大家的学习或工作有一定的帮助,需要的朋友可以参考下
    2024-05-05
  • 分析ThreadLocal内存泄漏问题

    分析ThreadLocal内存泄漏问题

    ThreadLocal的作用是提供线程内的局部变量,这种变量在线程生命周期内起作用,减少同一个线程内多个函数或者组件之间一些公共变量传递的复杂度,但是如果滥用ThreadLocal可能会导致内存泄漏,所以本文将为大家分析ThreadLocal内存泄漏问题
    2023-07-07

最新评论