后台验证详解

开发项目过程中,后台在很多地方需要进行校验操作,比如:前台表单提交,调用系统接口,数据传输等。而现在多数项目都采用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相关推荐

  1. Spring Boot Admin在线查看spring boot后台日志

    当前,应用系统微服务架构.前后端分离(前端vue,后端springboot),已经成为大部分项目的标准技术架构,但在项目上线后,spring boot后端服务部署在服务器上,大部分公司对服务器都有安全 ...

  2. Spring Boot DTO 验证示例

    在本教程中,我们将学习如何使用 Hibernate 验证器验证 Spring 启动 REST API DTO 请求. 在Java中,Java Bean Validation框架已经成为处理Java项目 ...

  3. 详细设计 存储分配_10k+点赞的 Spring Boot 后台管理系统竟然出了详细教程!爱了!...

    其实项目网上有很多了,但是教程比较详细的没多少,今天分享的项目从安装部署到代码具体功能都有很详细的说明 eladmin 是一款基于 Spring Boot 2.1.0 . Jpa. Spring Se ...

  4. spring boot后台管理系统

    这推荐一个码云上的经典项目:Timo v2.0.2 项目介绍 TIMO后台管理系统,基于SpringBoot2.0 + Spring Data Jpa + Thymeleaf + Shiro 开发的后 ...

  5. 如何在Spring Boot中使用Hibernate Natural ID

    首先,让我们关注所需类的实现.完成所有这些后,我们将能够为具有自然ID的实体提供存储库. 用自然ID编写实体 让我们考虑以下具有自动生成ID和自然ID(code列)的实体.这只是一个使用一个自然ID的 ...

  6. java spring boot 注解验证_如何理解Java原生注解和Spring 各种注解?

    作者:digdeep .cnblogs.com/digdeep/p/4525567.html 导引 Spring中的注解大概可以分为两大类: spring的bean容器相关的注解,或者说bean工厂相 ...

  7. Spring boot后台搭建二集成Shiro添加Remember Me

    上一片文章实现了用户验证  查看 当用户成功登录后,关闭浏览器,重新打开浏览器访问http://localhost:8080,页面会跳转到登录页,因为浏览器的关闭后之前的登录已失效 Shiro提供了R ...

  8. Spring Boot Validation

    Spring Boot Validation是Spring Boot整合了Hibernate Validation的一个框架,其核心是Hibernate Validation,此框架的作用是检验客户端 ...

  9. Spring Boot应用的后台运行配置

    酱油一篇,整理一下关于Spring Boot后台运行的一些配置方式.在介绍后台运行配置之前,我们先回顾一下Spring Boot应用的几种运行方式: 运行Spring Boot的应用主类 使用Mave ...

最新文章

  1. javascript开关_JavaScript开关案例简介
  2. 异常机制及throw与throws的区别 (z)
  3. linux使用外部smtp发送邮件,Centos 配置mailx使用外部smtp发送邮件
  4. read.table与readr::read_delim
  5. win11文件夹无法删除怎么办 windows11文件夹无法删除的解决方法
  6. angularJS前端分页插件
  7. Thinkphp5.1 配置域名(站点)设置
  8. Android基础 (六) 数据存储 Part 3 SQLite数据库存储
  9. 项不会计算为接受 0 个参数的函数_玩转excel函数:详解四种计数函数,从基础到提高...
  10. React.memo 是个啥么鬼?有什么用???
  11. Mac 安装svn客户端+idea配置svn
  12. MBR、主分区、扩展分区、逻辑分区、活动分区、系统分区、启动分区讲解
  13. div 背景色设置_DIV背景颜色设置
  14. 指付通盗刷信用卡维权连载--9月4日维权纪实
  15. Rockchip RK3588 kernel dts解析之系统休眠配置rockchip_suspend
  16. 作品交流:数字通信同步技术资源下载
  17. 微信小程序页面跳转方式
  18. python3强智教务系统个人课表爬虫
  19. 核心概念——节点/边/Combo——内置Combo——内置Combo总览
  20. 乐高机器人纲要_人工智能与机器人课程纲要

热门文章

  1. cnn 验证集 参与训练吗_一个简单的零基础的机器学习教程之二,字母数字验证码识别...
  2. oracle 31693,ORACLE expdp备份与ORA-31693、ORA-02354、ORA-01555
  3. edge浏览器下载位置设置
  4. ECharts 仪表盘的轴线宽度修改
  5. Java接口的几种常见用法
  6. shiro中文api_Shiro
  7. 语言非递归求解树的高度_算法素颜(11):无死角“盘”它!二分查找树
  8. mysql 查询商品列表 显示tag_让前台页面商品列表显示后台数据库中的商品
  9. strip string java_Java StringUtils.strip方法代码示例
  10. 黔东南天气预报软件测试,黔东南天气预报15天