Spring Boot 后台验证 Hibernate Validation
后台验证详解
开发项目过程中,后台在很多地方需要进行校验操作,比如:前台表单提交,调用系统接口,数据传输等。而现在多数项目都采用MVC分层式设计,每层都需要进行相应地校验。
针对这个问题, JCP 出台一个 JSR 303-Bean Validation规范 ,而Hibernate Validator 作为Bean Validation的参考实现,提供了JSR 303规范中所有内置constraint的实现,除此之外还有一些附加的constraint。
Hibernate Validation的使用非常简单,只用在相应的实体类中加上注解,再调用对应的校验API方法即可。
pom.xml
<dependency><groupId>org.hibernate</groupId><artifactId>hibernate-validator</artifactId>
</dependency>
User
import javax.validation.constraints.Max;
import javax.validation.constraints.Min;
import javax.validation.constraints.Size;@Id@GeneratedValueprivate Long id;@Size(min = 5, max = 30)private String name;@Min(18)@Max(30)private Integer age;
CommonExceptionAdvice
/*** 400 - Bad Request*/@ResponseStatus(HttpStatus.BAD_REQUEST)@ExceptionHandler(ConstraintViolationException.class)public AjaxResult handleServiceException(ConstraintViolationException e) {logger.error("参数验证失败", e);Set<ConstraintViolation<?>> violations = e.getConstraintViolations();ConstraintViolation<?> violation = violations.iterator().next();String message = violation.getMessage();return new AjaxResult().failure("parameter:" + message);}/*** 500 - Internal Server Error*/@ResponseStatus(HttpStatus.INTERNAL_SERVER_ERROR)@ExceptionHandler(Exception.class)public AjaxResult handleException(Exception e) {logger.error("通用异常", e);return new AjaxResult().failure("通用异常:" + e.getMessage());}
user.jsp
<table align="center"><tr><td>名称:</td><td><input class='easyui-textbox' type='text' name='name'></input></td></tr><tr><td>年龄:</td><td><input class='easyui-numberbox' type='text' name='age'></input></td></tr>
</table>
如果感觉不错的话记得点赞哟!!!
Spring Boot 后台验证 Hibernate Validation相关推荐
- Spring Boot Admin在线查看spring boot后台日志
当前,应用系统微服务架构.前后端分离(前端vue,后端springboot),已经成为大部分项目的标准技术架构,但在项目上线后,spring boot后端服务部署在服务器上,大部分公司对服务器都有安全 ...
- Spring Boot DTO 验证示例
在本教程中,我们将学习如何使用 Hibernate 验证器验证 Spring 启动 REST API DTO 请求. 在Java中,Java Bean Validation框架已经成为处理Java项目 ...
- 详细设计 存储分配_10k+点赞的 Spring Boot 后台管理系统竟然出了详细教程!爱了!...
其实项目网上有很多了,但是教程比较详细的没多少,今天分享的项目从安装部署到代码具体功能都有很详细的说明 eladmin 是一款基于 Spring Boot 2.1.0 . Jpa. Spring Se ...
- spring boot后台管理系统
这推荐一个码云上的经典项目:Timo v2.0.2 项目介绍 TIMO后台管理系统,基于SpringBoot2.0 + Spring Data Jpa + Thymeleaf + Shiro 开发的后 ...
- 如何在Spring Boot中使用Hibernate Natural ID
首先,让我们关注所需类的实现.完成所有这些后,我们将能够为具有自然ID的实体提供存储库. 用自然ID编写实体 让我们考虑以下具有自动生成ID和自然ID(code列)的实体.这只是一个使用一个自然ID的 ...
- java spring boot 注解验证_如何理解Java原生注解和Spring 各种注解?
作者:digdeep .cnblogs.com/digdeep/p/4525567.html 导引 Spring中的注解大概可以分为两大类: spring的bean容器相关的注解,或者说bean工厂相 ...
- Spring boot后台搭建二集成Shiro添加Remember Me
上一片文章实现了用户验证 查看 当用户成功登录后,关闭浏览器,重新打开浏览器访问http://localhost:8080,页面会跳转到登录页,因为浏览器的关闭后之前的登录已失效 Shiro提供了R ...
- Spring Boot Validation
Spring Boot Validation是Spring Boot整合了Hibernate Validation的一个框架,其核心是Hibernate Validation,此框架的作用是检验客户端 ...
- Spring Boot应用的后台运行配置
酱油一篇,整理一下关于Spring Boot后台运行的一些配置方式.在介绍后台运行配置之前,我们先回顾一下Spring Boot应用的几种运行方式: 运行Spring Boot的应用主类 使用Mave ...
最新文章
- javascript开关_JavaScript开关案例简介
- 异常机制及throw与throws的区别 (z)
- linux使用外部smtp发送邮件,Centos 配置mailx使用外部smtp发送邮件
- read.table与readr::read_delim
- win11文件夹无法删除怎么办 windows11文件夹无法删除的解决方法
- angularJS前端分页插件
- Thinkphp5.1 配置域名(站点)设置
- Android基础 (六) 数据存储 Part 3 SQLite数据库存储
- 项不会计算为接受 0 个参数的函数_玩转excel函数:详解四种计数函数,从基础到提高...
- React.memo 是个啥么鬼?有什么用???
- Mac 安装svn客户端+idea配置svn
- MBR、主分区、扩展分区、逻辑分区、活动分区、系统分区、启动分区讲解
- div 背景色设置_DIV背景颜色设置
- 指付通盗刷信用卡维权连载--9月4日维权纪实
- Rockchip RK3588 kernel dts解析之系统休眠配置rockchip_suspend
- 作品交流:数字通信同步技术资源下载
- 微信小程序页面跳转方式
- python3强智教务系统个人课表爬虫
- 核心概念——节点/边/Combo——内置Combo——内置Combo总览
- 乐高机器人纲要_人工智能与机器人课程纲要
热门文章
- cnn 验证集 参与训练吗_一个简单的零基础的机器学习教程之二,字母数字验证码识别...
- oracle 31693,ORACLE expdp备份与ORA-31693、ORA-02354、ORA-01555
- edge浏览器下载位置设置
- ECharts 仪表盘的轴线宽度修改
- Java接口的几种常见用法
- shiro中文api_Shiro
- 语言非递归求解树的高度_算法素颜(11):无死角“盘”它!二分查找树
- mysql 查询商品列表 显示tag_让前台页面商品列表显示后台数据库中的商品
- strip string java_Java StringUtils.strip方法代码示例
- 黔东南天气预报软件测试,黔东南天气预报15天