首先来看GPT的说话,第一段代码为若依原版,第二段代码为若依Plus版本。两者的防止重复提交功能只有一点点不同。

在这里插入图片描述
这里大概将一下若依Plus版本的防止重复提交功能。
(依旧是自定义注解+AOP来实现)
第一个框是生成了唯一的key,仔细看key的组成为url+token+参数,意味着每一个用户的每一个请求都在redis当中存了个key,值的化存了个空字符串(因为我们只需要key来保证唯一性,值不存东西也行)。
首先,我们获取这个key的值,如果是空说明用户第一次请求,然后将key存进去。如果不为空,说明在限制时间里(key没过期)用户再次进行了提交,返回错误信息。
在这里插入图片描述

原版若依的判定如下通过判断用户的url是否一致,在判断参数是否一致,在比较两次请求的时间是否小于限制时间来进行防止重复提交。
在这里插入图片描述
在这里插入图片描述

Logo

快速构建 Web 应用程序

更多推荐