Spring中@NotEmpty、@NotBlank、@NotNull 区别和使用

Spring中@NotEmpty、@NotBlank、@NotNull 区别和使用

引入依赖

  •         
                org.springframework.boot
                spring-boot-starter-web
                2.0.5.RELEASE
            
    

区别

  • @NotNull
  • 适用于基本数据类型(Integer,Long,Double等等),当 @NotNull 注解被使用在 String 类型的数据上,则表示该数据不能为 Null(但是可以为 Empty)
  • 注:被其标注的字段可以使用 @size、@Max、@Min 对字段数值进行大小的控制
  • @NotBlank
  • 适用于 String 类型的数据上,加了****@NotBlank**** 注解的参数不能为 *Null 且 trim() 之后 size > 0,必须有实际字符*
  • @NotEmpty
  • 适用于 ****String、Collection集合、Map、数组****等等,加了@NotEmpty 注解的参数不能为 Null 或者 长度为 0

使用方法

  • @Data
    public class BigPeople {
        @ApiModelProperty(value = "id" ,required = true)
        @NotNull(message = "id不能为空")
        @Length(message = "id不能超过{max}个长度",max = 10)
        private Integer id;
     
        @ApiModelProperty(value = "name" ,required = true)
        @NotBlank(message = "name不能为空")
        @Size(message = "名字最长为{max} 个字",max = 10)
        private String name;
     
        @ApiModelProperty(value = "age" ,required = true)
        @NotNull(message = "id不能为空")
        @Range(message = "age的长度范围为{min}岁到{max}岁之间",min = 5,max = 10)
        private Integer age;
     
        @ApiModelProperty(value = "treeNode" ,required = true)
        @NotEmpty(message = "treeNode不能为空")
        private List treeNode;
        
    }
    
  •     @ApiOperation(value = "新增或者修改一个人的信息")
        @PostMapping("/updateOrInsert")
        public Result updateOrInsert(@Valid @RequestBody  Person person){
            Boolean updateOrInsert = personService.updateOrInsert(person);
            if (updateOrInsert) {
                return new Result(ResultCode.SUCCESS,updateOrInsert);
            }
           return new Result(ResultCode.ERROR, "新增或者修改一个人的信息失败");
        }
     
     
      
        @ApiOperation(value = "新增或者修改一个人的信息")
        @PostMapping("/updateOrInsert")
        public Result updateOrInsert(@Validated @RequestBody  Person person){
            Boolean updateOrInsert = personService.updateOrInsert(person);
            if (updateOrInsert) {
                return new Result(ResultCode.SUCCESS,updateOrInsert);
            }
           return new Result(ResultCode.ERROR, "新增或者修改一个人的信息失败");
        }
    
  • 最上面三个注释: 必须需要搭配**@Valid** 或者**@Validated**使用,在检验Controller的入参是否符合规范时

你可能感兴趣的:(JAVA基础工作中实际总结,编程学习,spring,java,spring,boot)