Valid注解简化参数验证
@Valid注解
用法@PostMapping("/test") public R test(@Valid @RequestBody TestDTO testDTO) { System.out.println(testDTO); return R.ok("测试成功!"); }
实体 import javax.validation.constraints.NotBlank; /** * @author Xu Ming Jian * @desciption : TODO * @date 2022/2/14 0014 */ @Data @Getter @Setter public class TestDTO { @ApiModelProperty(value = "测试ID") @NotBlank(message = "id不能为空") @Length(message = "长度在8-10个字符之间",min = 8,max = 10) private String id; }
控制台{"id":" "} 2022-02-14 15:30:11.573 [null] WARN 76348 --- [io-10010-exec-1] c.u.h.c.f.h.GlobalBizExceptionHandler : 参数绑定异常,ex = id不能为空 {"id":"123"} 2022-02-14 15:30:24.081 [null] WARN 76348 --- [io-10010-exec-4] c.u.h.c.f.h.GlobalBizExceptionHandler : 参数绑定异常,ex = 长度在8-10个字符之间 {"id":"12345678"}
其他的自己尝试
@Valid 注解类型
@Null
限制只能为null
@NotNull
限制必须不为null
@AssertFalse
限制必须为false
@AssertTrue
限制必须为true
@DecimalMax(value)
限制必须为一个不大于指定值的数字
@DecimalMin(value)
限制必须为一个不小于指定值的数字
@Digits(integer,fraction)
限制必须为一个小数,且整数部分的位数不能超过integer,小数部分的位数不能超过fraction
@Future
限制必须是一个将来的日期
@Max(value)
限制必须为一个不大于指定值的数字
@Min(value)
限制必须为一个不小于指定值的数字
@Past
限制必须是一个过去的日期
@Pattern(value)
限制必须符合指定的正则表达式
@Size(max,min)
限制字符长度必须在min到max之间
@Past
验证注解的元素值(日期类型)比当前时间早
@NotEmpty
验证注解的元素值不为null且不为空(字符串长度不为0、集合大小不为0)
@NotBlank
验证注解的元素值不为空(不为null、去除首位空格后长度为0),不同于@NotEmpty,@NotBlank只应用于字符串且在比较时会去除字符串的空格
@Email
验证注解的元素值是Email,也可以通过正则表达式和flag指定自定义的email格式
海马集团董事长景柱再过10年很多人就不会买车了在今年博鳌亚洲论坛年会上,一场以2050年的汽车为主题的分论坛中,嘉宾们围绕着新能源汽车和无人驾驶的前景,展开深入讨论。有嘉宾认为,以电动汽车为标志的新能源汽车,代表了汽车工业的一
程序员薪资这么高为何很少见他们炫富?网友你看得懂他炫的么?大家都知道,程序员是一个比较辛苦的工作,认为程序员家境不算好,不然他们也不会选择这一行了,这到底是不是大实话,虽然程序员比较辛苦,但是他们的工资却很不错。少部分高收入程序员能够进一
官宣,小奔驰,吉利造!定了!奔驰smart,未来将由吉利生产!今天,浙江吉利控股集团(以下简称吉利控股)和戴姆勒股份公司(以下简称戴姆勒)宣布,双方将成立合资公司。在全球范围内联合运营和推动smart品
干掉手机卡!联通全国首发eSIM,苹果华为手表抬手就能打电话说起SIM卡,大家都不会陌生。如今我们所说的电话卡就是指的手机上的SIM卡,它的全名称为subscriberidentitymodule,即用户身份模块,主要作用是在用户进行网络通
别了,SIM卡!中国全面开通eSIM卡!手机将迎新变革29日,中国联通宣布,全国范围内开通eSIM。这意味着eSIM将大规模走进公众视野。什么是eSIM?eSIM简单来说,就是电子化的SIM卡,是一个数据文件,可通过网络下载到移动终端
华为P30系列屏幕供应商流出三家大厂齐供应中关村在线消息北京时间3月29日,据台湾媒体电子时报报道,华为本周发布的P30系列手机的屏幕供应商信息已经流出,京东方三星和LG都为华为供应了屏幕。这对于任何一家手机厂商来说都是非
2019全球安全1031亿美元,安防这个产业竟是最大收割机总有人说做安防的是赚着卖白菜的钱操着卖白粉的心。过去的一年,外头的人看安防全是AI人工智能大数据物联网智慧城市平安城市雪亮工程高大上,里头的人做安防全是红海竞争市场难销路难,项目难
王传福不再隐忍,比亚迪火力全开猛推9款新车车展是汽车行业的狂欢节,各大车企都绞尽脑汁希望在车展上玩出花样吸引更多关注。而在今年的上海车展前夕,比亚迪就火力全开放出大招。3月28日,比亚迪在北京钻石球场举行了以向新而行强大中
凑凑不再拖累呷哺呷哺首次扭亏为盈3月28日晚间,呷哺呷哺公布2108年财报,报告期内,呷哺呷哺实现营业收入47。34亿元,同比增29。2,益于集团扩张餐厅网络。财报显示,2018年新开张共195间餐厅,其中包括1
姨夫要退休了,索尼的OneSony梦想也快要实现了近日,索尼官方对外公布了业务整合的信息。从2019年4月1日开始,索尼将将影像产品及解决方案业务IPampS家庭娱乐及音频业务HEampS和移动通讯业务MC合并为消费电子品和解决方
麦当劳想用3亿把肯德基变成小弟最近,麦当劳又花了一大笔钱。据说,3亿多美元的大手笔眼睛都不眨一下,就买下了一家公司DynamicYield,并且这是一家科技公司。这家快餐连锁巨头斥资买下一间科技公司,还挺让人匪