SpringBoot使用validation进行自参数校验的方法

 更新时间:2024年09月27日 15:59:08   作者:暴怒的代码  
在SpringBoot项目中,利用validation依赖可以通过注解方式校验数据库交互参数,提高代码可读性和维护性,此方法避免了硬编码校验规则,方便后期规则变更,本文给大家介绍的非常详细,感兴趣的朋友跟随小编一起看看吧

一:介绍

        在 SpringBoot 项目开发中,很多与数据库交互的参数需要校验数据正确性。很多小伙伴会把参数判断写进代码里,但是这种写法往往会有低可读性以及多处使用的时候,需要变更验证规则时,不易于维护等缺点。今天给大家介绍 Starter 的 validation 依赖。可以直接使用注解的方式进行参数的校验,可读性与维护性都显著提高。

        一些常见的:

二:使用

1、添加依赖

        该依赖属于 org.springframework.boot 下。

            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-validation</artifactId>
                <version>3.2.1</version>
            </dependency>

        因为后面用到了 @Data ,所以需要添加 lombok。

            <dependency>
                <groupId>org.projectlombok</groupId>
                <artifactId>lombok</artifactId>
                <version>1.18.30</version>
            </dependency>

2、编写 pojo 类

        代码如下:

import lombok.Data;
import javax.validation.constraints.*;
import java.time.LocalDate;
@Data
public class Person {
  @NotBlank(message = "名字不能为空")
  private String name;
  @Max(value = 100,message = "年龄不能大于100岁")
  @Min(value = 0 ,message = "年龄不能小于0岁")
  private int age;
  @Email(message = "邮箱格式不正确")
  private String email;
  //@Past(message = "生日不能大于当前日期")
  //private LocalDate birthDay;
}

3、编写controller类

import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.validation.Valid;
@RestController
@RequestMapping("/validation")
public class validationController {
  @PostMapping("/demo")
  public Person demo(@RequestBody @Valid Person person){
    return person;
  }
}

4、post接口数据

{

    "name": "",

    "age": -1,

    "email": "email#163.com"

}

5、结果

到此这篇关于SpringBoot使用validation进行自参数校验的文章就介绍到这了,更多相关SpringBoot validation自参数校验内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 浅谈springioc实例化bean的三个方法

    浅谈springioc实例化bean的三个方法

    下面小编就为大家带来一篇浅谈springioc实例化bean的三个方法。小编觉得挺不错的,现在就想给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-09-09
  • mybatis-plus 版本不兼容问题的解决

    mybatis-plus 版本不兼容问题的解决

    这篇文章主要介绍了mybatis-plus 版本不兼容问题的解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-09-09
  • Java编程之继承问题代码示例

    Java编程之继承问题代码示例

    这篇文章主要介绍了Java编程之继承问题代码示例,具有一定参考价值,需要的朋友可以了解下。
    2017-11-11
  • 解决Jenkins集成SonarQube遇到的报错问题

    解决Jenkins集成SonarQube遇到的报错问题

    本文给大家分享Jenkins集成SonarQube遇到的报错问题及解决方法,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
    2021-07-07
  • Java中Redis存储String类型会有乱码的问题及解决方案

    Java中Redis存储String类型会有乱码的问题及解决方案

    在java中使用Redis存储String类型的数据时,会出现乱码,我写了一条存储key为name,值为虎哥的字符串,然后获取一下这个key为name的值,打印得到的值,下面通过实例代码介绍Java中Redis存储String类型会有乱码的问题及解决方案,一起看看吧
    2024-04-04
  • Spring Bean获取方式的实例化方式详解

    Spring Bean获取方式的实例化方式详解

    工作中需要对一个原本加载属性文件的工具类修改成对数据库的操作当然,ado层已经写好,但是需要从Spring中获取bean,然而,工具类并没有交给Spring来管理,所以需要通过方法获取所需要的bean。于是整理了Spring获取bean的几种方法
    2023-03-03
  • Mybatis如何使用@Mapper和@MapperScan注解实现映射关系

    Mybatis如何使用@Mapper和@MapperScan注解实现映射关系

    这篇文章主要介绍了Mybatis使用@Mapper和@MapperScan注解实现映射关系,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-10-10
  • java自定义异常以及throw和throws关键字用法

    java自定义异常以及throw和throws关键字用法

    这篇文章主要介绍了java自定义异常以及throw和throws关键字用法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-02-02
  • Java sleep方法及中断方式、yield方法代码实例

    Java sleep方法及中断方式、yield方法代码实例

    这篇文章主要介绍了Java sleep方法及中断方式、yield方法代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-04-04
  • SpringCloud中数据认证加密的方法总结

    SpringCloud中数据认证加密的方法总结

    在当今分布式系统的日益复杂和信息传递的广泛网络化环境中,数据的加密和认证作为保障信息传递安全的关键手段,Spring Cloud,作为一套构建微服务架构的强大框架,提供了多种灵活而强大的数据加密和认证方式,本文给大家总结了SpringCloud数据认证加密的方法
    2024-03-03

最新评论