SpringBoot 使用 Hibernate Validation 校验框架

前言

  对某个多字段的实体进行验证的话,如果写if..else会写很多麻烦而且冗余的代码,可读性也不好,我们可以使用Hibernate Validation校验框架进行灵活的校验处理

使用

一、在业务逻辑层验证:

  我们可能都熟悉在Controller层进行参数验证,在业务逻辑层进行验证可能使用不多,在我写外放机构交易接口的时候遇到一个问题,首先来说说我这个接口的设计,我的接口请求路径只有一个,但是可以处理不同的业务,根据机构传递的业务码判断业务类型,进行不同处理,机构请求这个接口,在Controller层首先会进行数据校验,但是校验的仅仅是暴露的不影响数据安全的数据,校验通过我需要将加密字段中的参数取出,根据机构私钥进行解密,获取到数据,但是这些数据你还要进行校验是否合法,这就需要在业务逻辑层进行验证

(1)、首先定义一个实体对象,在参数上使用验证注解

(2)、在业务层接口中的方法参数上使用@Valid注解

(3)、在接口实现类添加@Validation注解

(4)、捕获全局ConstraintViolationException异常

(5)、Controller方法上并为添加@Valid注解

请求测试:

建议以后将数据验证全部放到业务层。

简书:SpringBoot使用HibernateValidation校验框架

SpringBoot 使用 Hibernate Validation 校验框架

https://pingfangushi.com/posts/26070/

作者

SanLi

发布于

2017-12-14

更新于

2021-07-08

许可协议