<返回更多

springboot-如何集成Validation进行参数校验

2023-12-13  今日头条  编程少年
加入收藏

一、步骤概览

springboot-如何集成Validation进行参数校验

 

二、步骤说明

1.引入依赖包

在 pom.xml 文件中引入 validation 组件,它提供了在 Spring Boot 应用程序中进行参数校验的支持。

<!-- WEB 程序依赖包 -->
<dependency>
  <groupId>org.springframework.boot</groupId>
 <artifactId>spring-boot-starter-web</artifactId>
</dependency>

<!-- 校验依赖包 -->
<dependency>
  <groupId>org.springframework.boot</groupId>
 <artifactId>spring-boot-starter-validation</artifactId>
</dependency>

validation组件主要功能包括:

2.使用校验注解

在实体类上添加对应校验的注解,如@NotEmpty,@NotNull,@Max等。使用实例如下所示:

springboot-如何集成Validation进行参数校验

 

可使用的注解列表如下所示:

3.处理绑定异常

如果我们程序中使用了参数校验,当参数校验不通过,接口返回至前端的格式并不是我们统一定义的格式,我们需要将参数校验的异常处理并按照统一格式返回至前端,我们可以定义全局的异常处理器来统一处理。处理示例如下所示:

springboot-如何集成Validation进行参数校验

 

4.控制层启用校验

在实体类上添加校验注解,这只是定义了校验规则,并没有真正启用,在 Controller 方法上还需要使用 @Valid 或 @Validated注解启用校验。使用示例如下图所示:

springboot-如何集成Validation进行参数校验

 

其中@Valid 注解和@Validated注解还是有点区别的,区别如下所示,我们在使用时,可根据其特性按需使用。

区别

@Valid

@Validated

适用范围

方法参数、方法返回值、字段和方法级别

方法参数和方法返回值

验证顺序

会递归地校验参数对象的属性

不会递归地校验参数对象的属性

分组校验

不支持分组校验

支持分组校验

验证器选择

默认使用 JAVA 标准的 Bean Validation(JSR 380)规范的验证器,例如 Hibernate Validator

使用 Spring 的验证器,例如 Spring Validator

三、测试结果

测试如图所示:

springboot-如何集成Validation进行参数校验

 

返回的信息按照统一的格式返回,并提示我们哪个参数校验失败。

关键词:springboot      点击(16)
声明:本站部分内容来自互联网,如有版权侵犯或其他问题请与我们联系,我们将立即删除或处理。
▍相关推荐
更多springboot相关>>>