分类 |
限制 |
说明 |
空和非空检查 |
@Null |
限制只能为null |
|
@NotNull |
限制必须不为null |
|
@NotEmpty |
验证注解的元素值不为null且不为空(字符串长度不为0、集合大小不为0) |
|
@NotBlank |
验证注解的元素值不为空(不为null、去除首位空格后长度为0),不同于@NotEmpty,@NotBlank只应用于字符串且在比较时会去除字符串的空格 |
Boolean值得检查 |
@AssertFalse |
限制必须为false |
|
@AssertTrue |
限制必须为true |
长度检查 |
@Size(max,min) |
限制字符长度必须在min到max之间 |
日期检查 |
@Past |
检验日期为当期日期之前 |
|
@Future |
检验日期为当期日期之后 |
|
@PastOrPresent |
校验日期为当前日期或之后 |
数值检查 |
@Max(value) |
限制必须为一个不大于指定值的数字 |
|
@Min(value) |
限制必须为一个不小于指定值的数字 |
|
@DecimalMax(value) |
限制必须为一个不大于指定值的数字 |
|
@DecimalMin(value) |
限制必须为一个不小于指定值的数字 |
|
@Digits(integer,fraction) |
限制必须为一个小数,且整数部分的位数不能超过integer,小数部分的位数不能超过fraction |
|
@Negative |
限制必须为负整数 |
|
@NegativeOrZero |
限制必须为负整数或零 |
|
@Positive |
限制必须为正整数 |
|
@PositiveOrZero |
限制必须为正整数或零 |
其他 |
@Pattern(value) |
限制必须符合指定的正则 |
|
@Email |
限制必须为email |
/**
* 新增图片
* @param rquest
* @param bindingResult
* @return
*/
@PostMapping("/add")
public ResponseEntity<?> add(@RequestBody @Valid AssetImageAndVideoResp rquest, BindingResult bindingResult){
log.info("asset image request params >>> {}", rquest);
// 处理校验
if (bindingResult.hasErrors()){
throw new BaseException(bindingResult.getFieldError().getDefaultMessage());
}
AssetImageJpaEntity assetImageJpaEntity = assetImageService.add(rquest);
if (assetImageJpaEntity.getId() != null) {
return ResponseEntity.ok(GenericResponse.success());
} else {
return ResponseEntity.ok(GenericResponse.error());
}
}
@Data
public class AssetImageAndVideoResp {
private int id;
@NotBlank(message = "请输入素材url")
private String url; // 素材URL
@NotBlank(message = "请输入素材名称")
private String name; // 名称
private Integer source; // 素材来源
private String advertiserName; // 来源名称
private String advertiserId; // 素材来源ID
@Positive(message = "请输入素材宽")
private Integer width; // 宽
@Positive(message = "请输入素材高")
private Integer height; // 高
private String widthAndHeight; //宽高
private Integer asceptWidth; // 宽比例
private Integer asceptHeight; // 高比例
@Positive(message = "请输入素材大小")
private Long size; // 大小
private Integer assetImageAspectId; // 规则ID
private Integer duration; // 视频时长,单位:秒
// 创建时间
private LocalDateTime createdAt;
// 修改时间
private LocalDateTime updatedAt;
// 创建人
private String createdBy;
// 最后一次提交人
private String updatedBy;
}