某课体系课-Java工程师2022版

download:体系课-Java工程师2022版|完结无密 验证框架主要分为两种,即分层验证与JavaBean验证
分层验证模型
传统的校验模式,即每一层都添加数据验证。但是其验证逻辑重复性大,会出现冗余代码过多的情况
某课体系课-Java工程师2022版
文章图片

JavaBean验证
JavaBean验证模式指向前端接收数据时,在JavaBean上做数据校验。其校验逻辑无需写在其他层中
某课体系课-Java工程师2022版
文章图片

Bean Validation
Bean Validation 为 JavaBean 验证定义了相应的元数据模型和API。
---维基百科
分类限制说明空/非空检查@NULL限制只能为NULL@NotNull限制必须不为NULL@NotNull验证注解的元素值不为Null且不为空(字符串长度不为0,集合大小不为0)@NotBlack验证注解的元素值不为空(不为Null,去除首位空格后长度为0),不同于@NotEmpty,@NotBlank只应用于字符串且在比较时会去除字符串的空格Boolean值检查@AssertFalse限制必须为False@AssertTrue限制必须为True长度检查@Size(max,min)限制字符长度必须在min到max之间@Leanth限制字符长度必须在min到max之间日期检查@Future限制日期为当前时间之后@FutureOrPresent限制日期为当前时间或之后@Past限制日期为当前时间之前@PastOrPresent限制日期为当前时间或之前数值检查@Max(Value)限制必须为一个不大于指定值的数字@Min(Value)限制必须为一个不小于指定值的数字@DecimalMin(value)限制必须为一个不小于指定值的数字@DecimalMax(value)限制必须为一个不小于指定值的数字@Digits(integer,fraction)限制必须为小数,且整数部分的位数不能超过Integer,小数部分的位数不能超过fraction@Negative限制必须为负整数@NegativeOrZero(value)限制必须为负整数或零@Positive(value)限制必须为正整数@PositiveOrZero(value)限制必须为正整数或零其他检查@Pattern(Value)限制必须符合指定的正则表达式@Email限制必须为email格式
@Validated用于Controller层向前端接收参数时,对参数合法性进行校验的开启

@PostMapping("/testMethod") @ApiOperation(value = "https://www.it610.com/article/testMethod") public RespResult testMethod(@RequestBody @Validated TestParam testParam){ ... ... }

复制代码
@Validated只用于对功能的开启,代表本次开启参数校验
真正的参数校验注解在要进行参数合法性校验的类中进行书写
/**
  • 测试类
    *
  • @author WeiYL
  • @date 2022/7/27 16:15
    */
@Data
@ApiModel(value = "https://www.it610.com/article/测试处理类")
public class TestParamDTO{
/** * 名称 */ @ApiModelProperty(value = "https://www.it610.com/article/隐患描述", example = "隐患描述编辑测试") @Length(max = 512, message = "长度非法,超过{max}字符!") String testName; /** * 描述 */ @ApiModelProperty(value = "https://www.it610.com/article/描述", example = "描述编辑测试") @NotBlank(message = "描述不能为空") @Length(max = 512, message = "长度非法,超过{max}字符!") String testDescribe; /** * 等级 */ @ApiModelProperty(value = "https://www.it610.com/article/等级", example = "1") @NotBlank(message = "等级不能为空") @Length(min = 1, max = 1, message = "等级字符长度不为{max}") String testGrade;

【某课体系课-Java工程师2022版】}

    推荐阅读