SpringMVC 参数校验
SpringMVC 可以通过使用注解的方式对参数进行校验,省去参数校验的代码
引入依赖
Spring项目需引入
<dependency><groupId>org.hibernate.validator</groupId><artifactId>hibernate-validator</artifactId><version>6.0.7.Final</version>
</dependency>
Springboot引入web依赖时会带上上面的依赖,因此不需显示引入
<dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency>
</dependencies>
在实体类标注校验注解
每个注解都有message属性,用于填写校验失败时的异常描述信息,当校验失败时可以获取对应的message属性值
示例:
public class SysUser extends BaseEntity {@NotNull@NotEmpty@Length(max = 32)String username;@NotNull@NotEmpty@Length(max = 32)String password;@NotNull@Range(min = 0, max = 1)Integer sex;@NotNull@NotEmpty@Length(max = 16)String nickname;String avatar;
}
在控制层方法带上@Validated
/@Valid
开启参数校验
@Validated注解表示开启Spring的校验机制,支持分组校验,声明在入参上。
@Valid注解表示开启Hibernate的校验机制,不支持分组校验,声明在入参上
标注@Validated
/@Valid
的参数后面:
- 带上
BindingResult
对象时:当参数不符合时能通过BindingResult
对象直接获取不符合校验的message描述信息,并自行处理,返回结果 - 没有带上
BindingResult
对象时:当参数不符合时会直接返回400 Bad Request状态码和默认的错误的信息
SpringMVC 参数校验相关推荐
- Java 自定义注解实现springMVC 参数校验非空判断,为空 则返回响应为空信息
欢迎关注博主公众号:[纯洁的明依]文章由陈晓阳原创. 本人微信:chenxiaoyangzxy. 免费提供本人大量学习资料. 简单概括定义注解的步骤以及作用: 一:明确注解的使用空间(类 方法 等) ...
- SpringMVC + Hibernate-Validator 参数校验
2019独角兽企业重金招聘Python工程师标准>>> 前言: Web开发中,最为常见的场景就是前端表单数据.Json数据与后端实体类的绑定,即使JS能校验并阻止大部分的必填漏填的风 ...
- SpringMVC集成Hibernate Validator进行注解式的参数校验——让代码更少、更加专注于业务逻辑
SpringMVC集成Hibernate Validator进行注解式的参数校验 --让代码更少.更加专注于业务逻辑 1 问题背景: 参数验证是一个常见的问题,例如验证用户输入的密码是否为空.邮箱是否 ...
- 2,Spring-mvc添加参数校验:避免参数格式不正确导致的400
2019独角兽企业重金招聘Python工程师标准>>> 在有参数校验的基础上,新建异常处理类:(@ControllerAdvice("com.store.score.rpc ...
- Spring Validation最佳实践及其实现原理,参数校验没那么简单!
点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试文章 作者:六点半起床 juejin.im/post/685654110 ...
- Spring Validation 最佳实践及其实现原理,参数校验没那么简单!
之前也写过一篇关于Spring Validation使用的文章,不过自我感觉还是浮于表面,本次打算彻底搞懂Spring Validation.本文会详细介绍Spring Validation各种场景下 ...
- SpringMVC 参数解析器
一.问题 springMVC对于下面这种接口,参数是怎么解析的: @GetMapping("/hello/{id}") public void hello3(@PathVariab ...
- Spring基础系列-参数校验
原创作品,可以转载,但是请标注出处地址:https://www.cnblogs.com/V1haoge/p/9953744.html Spring中使用参数校验 概述 JSR 303中提出了Bea ...
- Spring Boot参数校验
1. 概述 作为接口服务提供方,非常有必要在项目中加入参数校验,比如字段非空,字段长度限制,邮箱格式验证等等,数据校验常用到概念: JSR303/JSR-349: JSR303是一项标准,只提供规范不 ...
最新文章
- HTML的dl、dt、dd标记制作表格对决Table制作表
- STM32F103C8T6学习笔记_时钟
- C++中的 c_str() 函数
- java dexclassloader_DexClassLoader加载apk
- 前端学习(1311):请求报文
- 转载一篇阅读文章(还算不错吧)
- SpringBoot自动装配探究
- [导入]RSS商业应用和电子商务的结合
- [哈希/字典树/kmp]Exercise Week15 A~C
- 视频教程-Photoshop(PS)软件基础入门-Photoshop
- 查询mysql数据库中各shema中的表数量【存储过程】
- 小海龟画图(小猪佩奇)
- 虚幻蓝图实现只狼的钩索系统(2)-射线检测
- 运行计算机配置gpedit,组策略(gpeditmsc)学习
- Codeforces Round #791 (Div. 2)(A-D)
- ORA-01658:oracle创建表空间时指定的UNLIMITED真的是UNLIMITED吗?
- 什么是认知偏见_偏见
- php相关书籍的阅读心得体会范文大全,关于课外阅读心得体会
- mysql 删除表数据_主外键关联表的数据删除策略
- 2012年2月到2012年8月个人总结
热门文章
- Hard Disk Drive HDU - 4788
- 2020牛客国庆集训派对day2 AKU NEGARAKU
- CF1603C-Extreme Extension【整除分块,dp】
- P7887-「MCOI-06」Existence of Truth【构造】
- P2680-运输计划【LCA,树上差分,二分答案】
- 2021“MINIEYE杯”中国大学生算法设计超级联赛(5)Random Walk 2(推式子+矩阵逆+矩阵乘)
- 2、异步HTTP编程
- 跟我学 Java 8 新特性之 Stream 流(六)收集
- 在比特币世界中矿工的作用是什么
- Redis 的 4 大法宝,2018 必学中间件