SpringBoot使用HibernateValidation校验框架

  对某个多字段的实体进行验证的话,会写很多麻烦而且冗余的代码

一、在业务逻辑层验证:

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

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

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

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

(4)、捕获全局ConstraintViolationException异常

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

请求测试:

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

简书:SpringBoot使用HibernateValidation校验框架

评论

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×