前言
先说下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的标准定义的constrain