SpringBoot+Redis使用AOP防止重复提交

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

  一,定义防重提交注解。

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

    

    

  二,定义一个切面

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

 

  三,方法上加上注解

  

  

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

posted @ 2021-05-14 16:25  苏格拉的底牌  阅读(1127)  评论(0编辑  收藏  举报