zoukankan      html  css  js  c++  java
  • SpringBoot+Redis使用AOP防止重复提交

      表单重复提交问题一般采取前端防重复提交和后端防重复提交方案,不过应该要两种方式都结合在一起才行,这里来说说使用AOP进行后端防重提交。

      一,定义防重提交注解。

        我在里面定义了一个锁住接口时间的方法,默认值为5,这里为什么要定义这么个方法呢,因为很多接口的处理时间不一样,所以这样灵活一点。

        

        

      二,定义一个切面

        我的方案是采用Redis来缓存提交接口的唯一标识,然后设置过期时间,唯一标识我才用接口的URL和用户的token组合在一起就能达到唯一,用户每发起第一次添加请求,会经过界面,在切面获取信息后组装起来存入Redis,当用户后续发起请求时,首先判断Redis中是否缓存了这个key,如果缓存了,则证明已经提交,于是反馈给前端,如果不存在,证明没有提交,则存入Redis。

     

      三,方法上加上注解

      

      

      四,这就OK啦,不做过多的描述了,如果想学习AOP相关的知识,请自行学习。

    生命不止,折腾不息
  • 相关阅读:
    计算三角形的周长和面积的类
    类的定义和继承
    简单类的定义和继承
    template <typename T>模板类定义
    字符串中取出数字字符串
    C++类定义 常量定义
    cogs1752[boi2007]mokia 摩基亚 (cdq分治)
    bzoj3262陌上花开 cdq分治入门题
    初入lambda表达式 (主要是c++11)
    空之境界
  • 原文地址:https://www.cnblogs.com/steakliu/p/14769034.html
Copyright © 2011-2022 走看看