前言
先说下Spring Validation参数校验,它是前后端分离项目SpringBoot后端Controller层必做的工作之一,目的是防止非法调用,Java JSR303定义了校验标准validation-api,但没有实现,Hibernate validation是规范的实现,另外还增加了一些constraints注解,最后Spring Validation对Hibernate validation进行了二次封装,支持在SpringMvc中自动校验!
那么,在Restful风格流行的当下,在SpringBoot中,主流的参数校验场景包括:
- 对于
POST、PUT请求,使用 @RequestBody传递的VO对象参数校验 - 对于
GET、DELETE请求,使用 @RequestParam传递的url拼接参数校验 - 对于GET请求的无注解参数校验
接下来,我会图文结合带大家正确使用 @Valid、@Validated以及constraints相关注解,工作必用,实战必会,最后有总结,Let’s Go!
Java的标准定义的constraints注解位于:javax.validation.constraints
Hibernate validation增加的constraints注解位于:org.hibernate.validator.constraints
参数校验的绝配搭档:7.11 SpringBoot实战 全局异常处理 - 深入细节详解

文章目录
引入Maven依赖
在springboot2.3之前,引入
spring-boot-starter-web时,自动引入validation依赖,但springboot2.3之后,需要单独引入依赖
spring-boot-starter-validation
<dependency>
<groupId>org.springframework.boot</groupId
SpringBoot参数校验实战:@Valid与constraints注解应用
本文介绍了在SpringBoot中如何使用@Valid和@Validated进行参数校验,涵盖POST/PUT请求的@RequestBody参数、GET/DELETE请求的@RequestParam参数以及GET请求的无注解参数校验。详细展示了注解的使用方法和测试运行情况,旨在确保RESTful API的参数合法性。
订阅专栏 解锁全文
4422





