一种基于注解自动实现接口幂等的方法与流程

文档序号:23187100发布日期:2020-12-04 14:15阅读:235来源:国知局
一种基于注解自动实现接口幂等的方法与流程

本发明涉及一种基于注解自动实现接口幂等的方法。



背景技术:

在日常开发中,有很多需要进行幂等性校验的接口,如表单提交,多次提交会造成多次重复的保存,浪费服务器资源;支付操作,多次重复支付应只有一次支付成功,绝不可出现重复支付的情况。

在现有的解决方案中,多为采用硬编码或硬编码加interceptor拦截器的方式进行实现,这两种方案均需要在进行接口调用之前采用硬编码的方式,将操作的唯一标识符手动添加到缓存中,以便后续进行幂等性校验。此种方式仍会存在大量硬编码,开发人员仍需关心校验逻辑的实现,无法完全专注于业务的开发。



技术实现要素:

针对上述现有技术存在的问题,本发明提供一种基于注解自动实现接口幂等的方法,完全实现幂等自动化,开发人员无需进行任何硬编码,使开发人员可以完全专注于业务开发,无需关心幂等性实现过程。

为了实现上述目的,本发明采用的一种基于注解自动实现接口幂等的方法,采用自定义注解的方式,在目标方法上添加幂等注解,自动实现对接口调用的幂等性校验。

作为改进,该基于注解自动实现接口幂等的方法,包括以下步骤:

1)在跳转至操作页面的方法上添加前置幂等注解;

2)在实际操作调用的方法上添加后置幂等注解;

3)aop自动拦截到前置幂等注解时,自动生成操作唯一标识符,绑定至页面并自动添加至缓存中;

4)aop自动拦截到后置幂等注解时,自动进行幂等性校验工作,确保接口幂等;

5)aop后置幂等接口校验无误后,删除缓存中的操作唯一标识符,并继续执行后续逻辑代码;

6)aop后置幂等接口校验有误时,则返回操作有误提示信息,不再继续执行后续逻辑代码,以保证幂等正确性;

7)至此,幂等校验过程结束。

作为改进,所述步骤3)中的缓存是采用redis进行缓存。

与现有技术相比,本发明的基于注解自动实现接口幂等的方法,采用自定义注解结合aop的方式,自动实现对接口调用的幂等性校验,使用简单,实现过程及实现细节对开发人员透明(开发人员不知道或者无需关心有此过程的存在),使开发人员可以专注于业务开发,无需关心幂等实现过程,大大减少了开发人员的代码工作量,提升了开发效率。

附图说明

图1为本发明的流程示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚明了,下面对本发明进行进一步详细说明。但是应该理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限制本发明的范围。

除非另有定义,本文所使用的所有的技术术语和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同,本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明。

如图1所示,一种基于注解自动实现接口幂等的方法,包括以下步骤:

1)在跳转至操作页面的方法上添加前置幂等注解;

2)在实际操作调用的方法上添加后置幂等注解;

3)aop自动拦截到前置幂等注解时,自动生成操作唯一标识符,绑定至页面并自动添加至缓存中;

4)aop自动拦截到后置幂等注解时,自动进行幂等性校验工作,确保接口幂等;

5)aop后置幂等接口校验无误后,删除缓存中的操作唯一标识符,并继续执行后续逻辑代码;

6)aop后置幂等接口校验有误时,则返回操作有误提示信息,不再继续执行后续逻辑代码,以保证幂等正确性;

7)至此,幂等校验过程结束。

本发明通过为每一个操作构建唯一操作标识符,绑定至操作页面并添加至缓存;后续进行操作时,判断缓存中是否有此页面绑定的唯一标识符;如有此唯一标识符,则认为操作合法,删除缓存中的标识符,并进行后续业务处理;如无此唯一标识符,则认为此操作已被执行过,返回错误提示信息,不予进行后续业务处理。

另外,使用本方案时,应确保系统中存在缓存功能,推荐使用redis进行缓存。

本发明的基于注解自动实现接口幂等的方法,采用自定义注解结合aop的方式,自动实现对接口调用的幂等性校验,使用简单,实现过程及实现细节对开发人员透明(开发人员不知道或者无需关心有此过程的存在),使开发人员可以专注于业务开发,无需关心幂等实现过程,大大减少了开发人员的代码工作量,提升了开发效率。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换或改进等,均应包含在本发明的保护范围之内。



技术特征:

1.一种基于注解自动实现接口幂等的方法,其特征在于,采用自定义注解的方式,在目标方法上添加幂等注解,自动实现对接口调用的幂等性校验。

2.根据权利要求1所述的一种基于注解自动实现接口幂等的方法,其特征在于,包括以下步骤:

1)在跳转至操作页面的方法上添加前置幂等注解;

2)在实际操作调用的方法上添加后置幂等注解;

3)aop自动拦截到前置幂等注解时,自动生成操作唯一标识符,绑定至页面并自动添加至缓存中;

4)aop自动拦截到后置幂等注解时,自动进行幂等性校验工作,确保接口幂等;

5)aop后置幂等接口校验无误后,删除缓存中的操作唯一标识符,并继续执行后续逻辑代码;

6)aop后置幂等接口校验有误时,则返回操作有误提示信息,不再继续执行后续逻辑代码,以保证幂等正确性;

7)至此,幂等校验过程结束。

3.根据权利要求2所述的一种基于注解自动实现接口幂等的方法,其特征在于,所述步骤3)中的缓存是采用redis进行缓存。


技术总结
本发明公开一种基于注解自动实现接口幂等的方法,采用自定义注解的方式,在目标方法上添加幂等注解,自动实现对接口调用的幂等性校验。本发明的基于注解自动实现接口幂等的方法,采用自定义注解结合AOP的方式,自动实现对接口调用的幂等性校验,使用简单,实现过程及实现细节对开发人员透明,使开发人员可以专注于业务开发,无需关心幂等实现过程,大大减少了开发人员的代码工作量,提升了开发效率。

技术研发人员:陈骄;张启亮;姜丽萍;黄凯
受保护的技术使用者:江苏徐工信息技术股份有限公司
技术研发日:2020.08.28
技术公布日:2020.12.04
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1