download:Spark+ClickHouse实战企业级数据仓库,进军大厂必备
验证框架次要分为两种,即分层验证与JavaBean验证
分层验证模型
传统的校验模式,即每一层都增加数据验证。然而其验证逻辑重复性大,会呈现冗余代码过多的状况
JavaBean验证
JavaBean验证模式指向前端接收数据时,在JavaBean上做数据校验。其校验逻辑无需写在其余层中
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 = "testMethod")
public RespResult testMethod(@RequestBody @Validated TestParam testParam){
... ...
}
复制代码
@Validated只用于对性能的开启,代表本次开启参数校验
真正的参数校验注解在要进行参数合法性校验的类中进行书写
/**
- 测试类
* - @author WeiYL
- @date 2022/7/27 16:15
*/
@Data
@ApiModel(value = “测试解决类”)
public class TestParamDTO{
/**
* 名称
*/
@ApiModelProperty(value = "隐患形容", example = "隐患形容编辑测试")
@Length(max = 512, message = "长度非法,超过{max}字符!")
String testName;
/**
* 形容
*/
@ApiModelProperty(value = "形容", example = "形容编辑测试")
@NotBlank(message = "形容不能为空")
@Length(max = 512, message = "长度非法,超过{max}字符!")
String testDescribe;
/**
* 等级
*/
@ApiModelProperty(value = "等级", example = "1")
@NotBlank(message = "等级不能为空")
@Length(min = 1, max = 1, message = "等级字符长度不为{max}")
String testGrade;
}