Springboot使用@validation

发布时间 2023-11-09 17:52:43作者: y_d_g
 <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-web</artifactId>
    </dependency>

/**
* @Validate默认是会全部校验的
* 在这里定义了增删改查四种业务类型 ,如果引用 groups ,引用哪个类型就会校验哪个类型
*/
public interface ValidateType {

public interface INSERT {}; //增
public interface DELETE {}; //删
public interface UPDATE {}; //改
public interface SELECT {}; //查
}

例如1 只校验 INSERT 类型
@PostMapping("/register")
@SystemLog(BusinessName = "注册用户")
public ResponseResult register(@Validated(ValidateType.INSERT.class) @RequestBody TsUser tsUser) {
return tsUserService.register(tsUser);
}
@Data
public class TestUser {
@NotBlank(message = "姓名不能为空", groups = {ValidateType.INSERT.class})
@Length(max = 10,message = "姓名长度不能超过10位")
private String userName;

}



例如2 默认的全部校验
@PostMapping("/register")
@SystemLog(BusinessName = "注册用户")
public ResponseResult register(@Validated @RequestBody TsUser tsUser) {
return tsUserService.register(tsUser);
}
@Data
public class TestUser {
@NotBlank(message = "姓名不能为空")
@Length(max = 10,message = "姓名长度不能超过10位")
private String userName;

}