背景
同一条数据被用户点击了多次,导致数据冗余,需要防止弱网络等环境下的重复点击
目标
通过在指定的接口处添加注解,实现根据指定的接口参数来防重复点击
说明
这里的重复点击是指在指定的时间段内多次点击按钮
技术方案
springboot + redis锁 + 注解
使用 feign client 进行请求测试
最终的使用实例
1、根据接口收到 PathVariable 参数判断唯一
2、根据接口收到的 RequestBody 中指定变量名的值判断唯一
ps: jedis 2.9 和 springboot有各种兼容问题,无奈只有降低springboot的版本了
运行结果
收到响应:{"succeeded":true,"code":500,"msg":"操作过于频繁,请稍后重试","data":null}
收到响应:{"succeeded":true,"code":500,"msg":"操作过于频繁,请稍后重试","data":null}
收到响应:{"succeeded":true,"code":500,"msg":"操作过于频繁,请稍后重试","data":null}
收到响应:{"succeeded":true,"code":200,"msg":"success","data":"test is return success"}
测试用例
定义一个注解
根据指定的注解定义一个切面,根据参数中的指定值来判断请求是否重复
项目完整代码
以上就是springboot实现防重复提交和防重复点击的示例的详细内容,更多关于springboot实现防重复提交和防重复点击的资料请关注服务器之家其它相关文章!
原文链接:https://www.cnblogs.com/daleyzou/p/noSubmitRepeat.html