@Valid参数校验

13 篇文章 0 订阅
订阅专栏

参数校验,校验收参,非空

  1. pom.xml导包
<!--参数校验注解导包 3-->
<dependency>
     <groupId>org.hibernate</groupId>
     <artifactId>hibernate-validator</artifactId>
     <version>6.0.8.Final</version>
 </dependency>
 <dependency>
     <groupId>javax.validation</groupId>
     <artifactId>validation-api</artifactId>
 </dependency>
 <dependency>
     <groupId>org.jboss.logging</groupId>
     <artifactId>jboss-logging</artifactId>
 </dependency>
  1. 编写Java代码,Controller
@ApiOperation(value = "保存")
@PostMapping("/save")
public String save(@RequestBody @Valid StudentParam param,
                  BindingResult bindingResult){
     if (bindingResult.hasErrors()) {
         //拿到所有错误信息
         List<ObjectError> allErrors = bindingResult.getAllErrors();
         StringBuffer buffer = new StringBuffer();
         for (ObjectError allError : allErrors) {
             //拼接-遍历的错误
             buffer.append(allError.getDefaultMessage()+",");
         }
         return buffer.toString();
     }
     return param.toString();
 }

param

@Data
@ApiModel("学生参数")
public class StudentParam{
	@NotBlank(message = "姓名不能为空")
	@ApiModelProperty("姓名")
	private String sName;
	
	@NotBlank(message = "课程不能为空")
	@ApiModelProperty("课程")
	private String course;
	
	@NotNull(message = "成绩不能为空")
	@ApiModelProperty("成绩")
	private Integer score;
}

运行项目,非空校验出来了。
在这里插入图片描述
参数校验常用注解

@NotBlank 不能为空,用于String
@NotNull 不能为空,可用于Integer类型,对象
@NotEmpty 集合不能为空
@Digits 用于校验数字 byte/short/int/long/float/double及其对应的包装类;包装类对象not null时才校验

Springboot使用@Valid 和AOP做参数校验及日志输出问题
08-25
Springboot使用@Valid 和AOP做参数校验及日志输出问题 Springboot框架中,参数校验和日志输出是两个非常重要的方面。使用@Valid注解可以对实体类进行校验,而AOP(Aspect-Oriented Programming)可以用于记录日志...
JAVAValidation对于整形类型校验不生效解决方案
AnsonChen的博客
05-23 997
一切都配置好了,但是测试时,我们不传page和size,仍然不会触发校验错误。这是因为int类型中,即使我们不传递这些属性,对象生成时也会给这些属性赋默认值0,@NotNull只是校验是否为null,那么0也是可以通过的。2、若你的需求场景需要使用int,那么可以不用@NotNull,改用@Min(1)来校验这两个字段,表示该字段必须>=1。1、声明属性时不用int,而用他的包装类Integer,对于包装类类型,如果没有传递该字段,默认值为null。
spring mvc 关于@valid
wsbg54的博客
08-14 749
使用注解一、准备校验时使用的JARvalidation-api-1.0.0.GA.jar:JDK的接口;hibernate-validator-4.2.0.Final.jar是对上述接口的实现;log4j、slf4j、slf4j-log4j二、编写需要校验的bean@NotNull(message=”名字不能为空”) private String userName; @Max(value=120
Validator验证注解
wFitting的博客
05-06 449
Validator验证注解Validator验证注解代码示例 Validator验证注解 在Spring相关开发中,我们可以使用它自带的一些验证注解,对接收参数进行校验,从中省去了我们手动校验参数合法性的操作,使我们的代码看起来更加优雅。 验证注解 验证数据类型 说明 @AssertFalse Boolean,boolean 验证注解的元素是false @AssertTrue ...
JSR303参数校验(2)
h13245的博客
09-03 570
书接上文提到的jsr303基础知识,这次我们加上了全局异常处理+分组校验+自定义校验注解
validation校验开发实战
方猿
06-28 839
1、NotNull 和 @NotEmpty 和@NotBlank 区别 如果在使用注解 @Validator的时候,出现如下错误: javax.validation.UnexpectedTypeException: No validator could be found for type: java.lang.Integer 那一定是在基本类型上使用注解出现的错误,需要注意的是: @NotEmpty 用在集合类上面,验证注解的元素值不为null且不为空(字符串长度不为0、集合大小不为0) @NotBlan
Springboot参数校验@Validated和@Valid区别源码
11-22
Springboot参数校验@Validated和@Valid区别源码
Spring Boot技术知识点:如何使用@Valid注解来对邮箱字段进行数据校验
07-04
当在方法参数上使用`@Valid`时,Spring MVC会调用对应的Validator来检查该参数,确保其满足预定义的校验规则。 2. **如何创建验证规则**: 我们可以通过在模型类的属性上添加各种验证注解来定义校验规则。例如,...
详解Spring AOP 实现“切面式”valid校验
08-28
Spring AOP 实现“切面式”valid 校验 Spring AOP(Aspect-Oriented Programming)是一种编程范式,它可以帮助开发者将横切关注点与业务逻辑分离,从而提高代码的可读性、可维护性和可扩展性。在本篇文章中,我们...
SpringMVC 使用JSR-303进行校验 @Valid示例
10-20
3. 校验方法:在控制器的处理器方法中,使用@Valid注解来触发校验过程,并紧随其后添加一个BindingResult参数以接收校验的结果。若校验未通过,BindingResult将包含相关的错误信息。 4. 使用Spring的标签库:在JSP...
SpringBoot 中使用 @Valid 注解 + Exception 全局处理器优雅处理参数验证
tt8889的博客
05-04 2152
三、@Valid 的相关注解 四、使用 @Valid 进行参数效验步骤 实体类中添加 @Valid 相关注解 接口类中添加 @Valid 注解 全局异常处理类中处理 @Valid 抛出的异常 五、SpringBoot 中使用 @Valid 示例 Maven 引入相关依赖 自定义个异常类 自定义响应枚举类 自定义响应对象类 自定义实体类中添加 @Valid 相关注解 Controller 中添加 @Valid 注解 全局异常处理 启动类 示例测试 相关地
validation--数据校验
qq_15210269的博客
08-01 3312
validation,数据校验
如何使用validation校验参数
qq_39149435的博客
02-28 1347
如何使用validation校验参数
@Validated和@Valid校验参数、级联属性、List
Hello World
10-20 4758
@Validated和@Valid的区别 在Controller中校验方法参数时,使用@Valid和@Validated并无特殊差异(若不需要分组校验的话):@Valid:标准JSR-303规范的标记型注解,用来标记验证属性和方法返回值,进行级联和递归校验@Validated:Spring的注解,是标准JSR-303的一个变种(补充),提供了一个分组功能,可以在入参验证时,根据不同的分组采用不同的...
@valid参数校验使用,全方位多角度保证你的数据安全
蛙广志
07-11 5485
写在前面 再Javaweb的开发中,为了防止懂技术的人对数据库的恶意攻击,我们通常使用参数校验对无效数据进行筛选,Java生态下的@valid注解配置SpringBoot的使用可以方便快速的完成对数据校验的各种场景 同时数据校验分为前端校验和后端校验 前端校验 通常我们使用脚手架快速搭建页面,比如element-ui提供了可以参数校验的表单,官方文档有较为详细的使用教程,传送门,在此就不再重复,本文重点在于后端的参数校验 后端校验 如果有人拿到了url地址,使用第三方测试工具比如postman就可以跳过前
Java参数校验详解:使用@Valid注解和自定义注解进行参数验证
那仰望的人,心底的孤独和叹息
02-29 8566
很多时候我们需要使用不少if、else等等逻辑判断及验证,这样在进行一些重复的参数校验会很麻烦,且以后要维护也会吃力。 而这样就可以使用javax.validation。验证(Validation)常见的验证操作包括验证数据的类型、格式、长度、范围、唯一性等 javax.validation 包:Java SE 6+ 中引入了 javax.validation 包,作为 Bean Validation 规范的一部分。这个包提供了一组注解和接口,可以方便地进行数据验证。 使用正则表达进行手机号码的校验
Valid相关校验-全面解决开发中遇到的各种校验问题
接需求(Java),各个平台都同名,欢迎搜索关注
06-20 800
我们在开发的过程中难免会遇到各种用户输入的校验,当然你用【if else】能完成开发。如果你是开发几个月的初级程序员你这样写可以,但是如果你已经是一个三年开发经验的程序员老司机了【你已经是一个成熟的程序猿了,写的程序一定要能自动运行】,你还一直写【if else】那就显得你太low了,老板看到你这样写代码那升职加薪肯定把你排到最后。那怎样才能写出看出比较高级的代码呢?好了下面就带大家完成各种形式的校验,开发中一定用得到。使用Valid校验你首先要了解什么是JSR303。
Java 4种校验注解(值校验、范围校验、长度校验、格式校验
ddwangbin520的博客
06-06 6957
Java 4种常用校验注解
@Valid和@Validated注解校验以及异常处理
热门推荐
m0_58680865的博客
11-12 1万+
@Valid和@Validated注解校验以及异常处理
@valid注解 校验表情包
最新发布
09-12
@valid注解通常用在JavaSpring框架中,它是用于请求体的数据校验。通过在方法参数前加上@valid注解,Spring会自动校验方法参数所对应的对象,如果校验不通过,则会抛出一系列的校验异常。当需要对表情包进行校验时,可以通过定义一个DTO(Data Transfer Object)类,并使用JSR-303提供的校验注解来定义校验规则。例如,可以为表情包的大小、格式、是否包含敏感信息等定义规则。 这里是一个简单的例子,展示如何为一个假设的表情包对象定义校验规则: ```java import javax.validation.constraints.Max; import javax.validation.constraints.Min; import javax.validation.constraints.NotNull; import javax.validation.constraints.Size; public class EmojiPackageDTO { @NotNull(message = "表情包不能为空") @Size(min = 1, max = 10, message = "表情包的尺寸应在1到10之间") private String name; @Min(value = 1, message = "表情包至少包含1个表情") @Max(value = 100, message = "表情包最多包含100个表情") private Integer size; // 其他与表情包相关的属性和校验规则 // getters and setters } ``` 在处理请求的方法中,可以这样使用@valid注解: ```java @RestController public class EmojiController { @PostMapping("/upload-emoji") public ResponseEntity<String> uploadEmoji(@Valid @RequestBody EmojiPackageDTO emojiPackage) { // 处理上传的表情包 return ResponseEntity.ok("表情包上传成功"); } } ``` 如果表情包的数据不满足上面定义的规则,比如为空、尺寸不在指定范围内或者包含不合法的表情等,Spring就会进行拦截,并返回相应的错误信息。
写文章

热门文章

  • MySQL数据库行转列,列转行 10208
  • HttpUtil万能工具类,直接搬用 9084
  • Redis在实际开发中的运用场景 4515
  • Git拉取项目,拉取git更新后的项目 3873
  • 程序员常用Linux命令 3693

分类专栏

  • Java 13篇
  • 笔记 1篇
  • Redis 4篇
  • Linux 4篇
  • MySql 3篇

最新评论

  • Mybatis使用collection映射一对多查询分页问题

    zhangji12138: 没有哦 要么 对于需要1:n的子表数据不走sql 而是在业务里一次性查询出来 再用id去匹配

  • Mybatis使用collection映射一对多查询分页问题

    小柒v: 有没有好的解决方案表情包

  • Mybatis使用collection映射一对多查询分页问题

    zhangji12138: 这种用法对于每一条数据相当于都执行了一遍你的子查询 数据量大的时候性能很差 一对多分页的N+1问题

  • Mybatis使用collection映射一对多查询分页问题

    小柒v: 表情包没明白,讲详细一点?

  • Mybatis使用collection映射一对多查询分页问题

    zhangji12138: 会有N+1的问题

最新文章

  • jar包导入本地maven仓库
  • dist包在windows的nginx下部署运行
  • easyexcel处理复杂表头
2024年4篇
2023年21篇
2022年12篇
2021年13篇

目录

目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

玻璃钢生产厂家梅花鹿玻璃钢雕塑杭州常见玻璃钢雕塑摆件玻璃钢雕塑龙头延安玻璃钢雕塑工艺玻璃钢雕塑的材料及工艺成都玻璃钢卡通老鼠雕塑北京主题商场美陈销售厂家玻璃钢花盆跟瓷花盆南京小品系列玻璃钢雕塑公司玻璃钢浮雕学校镂空雕塑厂家创新玻璃钢花盆台州动物玻璃钢雕塑烘焙商场美陈铸造校园玻璃钢雕塑小品上海欧式玻璃钢雕塑生产厂家城市雕塑玻璃钢东莞玻璃钢彩绘雕塑定制西瓜玻璃钢雕塑定制玻璃钢大白菜雕塑那里多四川常见商场美陈厂家直销淮安玻璃钢动物雕塑供货商镇江酒店玻璃钢雕塑设计芜湖玻璃钢卡通人物雕塑安顺商场美陈样式南京小鸡玻璃钢花盆广西玻璃钢花盆价格云岩区玻璃钢雕塑深圳开业商场美陈多少钱宁波学校玻璃钢雕塑伊犁气球商场美陈装饰哪里靠谱香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声单亲妈妈陷入热恋 14岁儿子报警汪小菲曝离婚始末遭遇山火的松茸之乡雅江山火三名扑火人员牺牲系谣言何赛飞追着代拍打萧美琴窜访捷克 外交部回应卫健委通报少年有偿捐血浆16次猝死手机成瘾是影响睡眠质量重要因素高校汽车撞人致3死16伤 司机系学生315晚会后胖东来又人满为患了小米汽车超级工厂正式揭幕中国拥有亿元资产的家庭达13.3万户周杰伦一审败诉网易男孩8年未见母亲被告知被遗忘许家印被限制高消费饲养员用铁锨驱打大熊猫被辞退男子被猫抓伤后确诊“猫抓病”特朗普无法缴纳4.54亿美元罚金倪萍分享减重40斤方法联合利华开始重组张家界的山上“长”满了韩国人?张立群任西安交通大学校长杨倩无缘巴黎奥运“重生之我在北大当嫡校长”黑马情侣提车了专访95后高颜值猪保姆考生莫言也上北大硕士复试名单了网友洛杉矶偶遇贾玲专家建议不必谈骨泥色变沉迷短剧的人就像掉进了杀猪盘奥巴马现身唐宁街 黑色着装引猜测七年后宇文玥被薅头发捞上岸事业单位女子向同事水杯投不明物质凯特王妃现身!外出购物视频曝光河南驻马店通报西平中学跳楼事件王树国卸任西安交大校长 师生送别恒大被罚41.75亿到底怎么缴男子被流浪猫绊倒 投喂者赔24万房客欠租失踪 房东直发愁西双版纳热带植物园回应蜉蝣大爆发钱人豪晒法院裁定实锤抄袭外国人感慨凌晨的中国很安全胖东来员工每周单休无小长假白宫:哈马斯三号人物被杀测试车高速逃费 小米:已补缴老人退休金被冒领16年 金额超20万

玻璃钢生产厂家 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化