@Valid注解

分类 限制 说明
空和非空检查 @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;
}
posted @   Lafite-1820  阅读(65)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
点击右上角即可分享
微信分享提示