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 */
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 */
3.测试
参数验证不通过时,直接抛出 400(Bad Request 坏请求),请求不会进入controller
以上是关于javax.validation的主要内容,如果未能解决你的问题,请参考以下文章
错误 javax.validation.ConstraintViolationException
springboot 实体参数校验 validate 抛出javax.validation.ConstraintViolationException异常 统一处理
Kotlin 和 javax.validation.constraints.NotNull