javax.validation

Posted abdusalam10

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了javax.validation相关的知识,希望对你有一定的参考价值。

 

1.书写接收参数对象

 1 import lombok.Data;
 2 import javax.validation.constraints.NotBlank;
 3 import javax.validation.constraints.NotNull;
 4 
 5 @Data
 6 public class AbcParam {
 7 
 8     @NotBlank(message = "课程名称不能为")
 9     private String title;
10 
11     @NotNull(message = "价格不能为空")
12     private Integer price;
13 }
14 
15 /**
16  * @NotBlank 【只对字符串】检查约束字符串是不是Null还有被Trim的长度是否大于0
17  * @NotNull  验证对象是否不为null, 无法查检长度为0的字符串
18  */
View Code

2.书写 Controller

 1 import javax.validation.Valid;
 2 
 3 @RestController
 4 @RequestMapping(value = "/abc")
 5 public class AbcController {
 6     
 7     @PostMapping(value = "/save")
 8     public AbcParam save(@RequestBody @Valid AbcParam abcParam){
 9         return abcParam;
10     }
11 }
12 
13 /**
14  * @Valid 启用参数校验(不使用这个注解就不会进行校验)
15  */
View Code

3.测试

参数验证不通过时,直接抛出 400(Bad Request 坏请求),请求不会进入controller

以上是关于javax.validation的主要内容,如果未能解决你的问题,请参考以下文章

错误 javax.validation.ConstraintViolationException

springboot 实体参数校验 validate 抛出javax.validation.ConstraintViolationException异常 统一处理

Kotlin 和 javax.validation.constraints.NotNull

javax.validation

javax.validation - BindingResult

如何在子类中覆盖@annotations (javax.validation)