@NotNull、@NotEmpty、@NotBlank的区别,官方 最新 详解
前言
我有个需求,就是传入的参数不能为空,其实就是必传的意思,问了我们公司的前辈,他让我写上@Blank即可,写上之后一直报错:HV000030: No validator could be found for constraint 'javax.validation.constraints.NotBlank' validating type 'java.lang.Integer'. Check configuration for 'pageSize'
我的代码例如:
@Data
public class QueryVideoPageDTO {
private String userName;
@NotNull(message = "pageSize不能为空")
@Min(value = 1)
private Integer pageSize;
@NotBlank(message = "pageNum不能为空")
@Min(value = 1)
private Integer pageNum;
}
解决:将@NotBlank换成@NotNull
@Data
public class QueryVideoPageDTO {
private String userName;
@NotNull(message = "pageSize不能为空")
@Min(value = 1)
private Integer pageSize;
@NotBlank(message = "pageNum不能为空")
@Min(value = 1)
private Integer pageNum;
}
区别
直接看官方解释:
@NotNull
意思是使用此注解的属性不能是null,可以在任何类型的属性上使用。
@NotEmpty
意思是使用此注解的属性不能是null或空字符串(长度<=0);可以在字符串、Collection集合、Map集合、Array数组上使用;
@NotBlank
意思是此注解的属性不能为null,且必须包含一个非空白字符的字符串(长度>=0),可以在字符串上使用。
总结
@NotNull:可以在任何类型上使用 值不许为null
@NotEmpty:可以在字符串、Collection集合、Map集合、Array数组上使用;值不许为null和长度<=0的字符串
@NotBlank:仅可以在字符串上使用;值不许为null并且字符串长度必须>0,空格、回车、table之类的空白str都不行哦~
唐家君仔: 下载jenkins反正不报错了,成功启动项目,完美,3.8更新还是蛮多的有组态,也可以自定义上传,编排更加灵活的还是很值得更新3.8的
唐家君仔: Could not find artifact org.thingsboard.msa:vc-executor:deb:deb:3.8.0 in jenkins (https://repo.jenkins-ci.org/releases) maven编译的时候报错这个,难道还要安装jenkins吗大佬
户伟伟: 希望有帮助
唐家君仔: 太棒了,正好今天准备搭建一下最新的thingsboard3.8的,感谢大佬
CSDN-Ada助手: 推荐 Java 技能树:https://edu.csdn.net/skill/java?utm_source=AI_act_java