spring-boot-validator参数校验系列(1)--------基本参数校验

前言

目录

spring-boot-validator参数校验系列(1)--------基本参数校验

spring-boot-validator参数校验系列(2)--------分组校验

spring-boot-validator参数校验系列(3)--------自定义校验注解

spring-boot-validator参数校验系列(4)--------自定义参数校验异常

一、为什么要进行参数校验?

1.1 与业务代码分离,拒绝 if(Objects.isNull()){ //相关提示... }! 也是Controller分层的体现!

1.2也是代码复用,比如常见的字符串非空判断。

二、使用步骤

2.1 pom引入依赖

   <?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <!--引入SpringBoot依赖-->
   <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.5.4</version>
    </parent>
    
    <groupId>com.tab343</groupId>
    <artifactId>mySpringboot</artifactId>
    <version>1.0-SNAPSHOT</version>

    <dependencies>
        <!--spring-boot-starter-parent的父级spring-boot-dependencies定义了validation的依赖,所以这里不必指定版本-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-validation</artifactId>
        </dependency>

        <!-- 因为示例采用web方式,所以加入web依赖-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
    
    </dependencies>
</project>

2.2校验操作

(1)普通类型(比如int,Integer)及字符串类型校验

此种情况可以直接在方法参数上进行加校验注解判断

@RestController
@Slf4j
@RequestMapping("/validation")
@Validated//校验注解,标注在类上表示该类所有方法都进行校验,如果只标注在方法,表示只根据校验注解检查此方法上的参数
public class MyValidationController {   
@RequestMapping("/methodParam")
    public void testMethodParam(@Size(min = 5, max = 10,
     message = "字符长度超出了范围!") String code){
        log.info("code is {}",code);
    }
}

使用PostMan访问

spring-boot-validator参数校验系列(1)--------基本参数校验

后台输出结果

spring-boot-validator参数校验系列(1)--------基本参数校验

(2)引用类型(即对象)校验

例如根据id更新用户名时,id和用户名不可为空!

public class MyPerson {

    @NotBlank(message = "id不可为空!")
    private String id;
    
    @Size(max = 255,min = 1, message = "姓名不可为空!")
    private String name;
}

PostMan访问

spring-boot-validator参数校验系列(1)--------基本参数校验

后台输出结果

spring-boot-validator参数校验系列(1)--------基本参数校验

上一篇:java – 双击时不会运行Jar文件


下一篇:在windows下双击可执行jar文件不可以执行的问题