当前位置: 首页 > news >正文

springboot重复提交问题

前言

当用户提交订单的时候,有时候网络不好,或者手速快,连点好多下,这下麻烦了,数据库出现了多条一样的数据,坏菜,查询的时候或者其他业务逻辑的时候,报错了,真是,前端怎么没做校验呢?又来一句,后端怎么不做校验呢?扯皮,简单方法,在特殊接口(增加方法)上面加注解就解决了。


用guardian的一个小组件就解决了

一、guardian是什么?

guardian是防重提交、接口限流、接口幂等、参数自动Trim、慢接口检测、请求链路追踪、IP黑白名单、防重放攻击、接口开关 —— 一个 Starter 搞定 API 请求防护。

地址:GitHub - BigGG-Guardian/guardian: 防重提交、接口限流、接口幂等、参数自动Trim、慢接口检测、请求链路追踪、IP黑白名单、防重放攻击、接口开关 —— 一个 Starter 搞定 API 请求防护。 · GitHub

二、使用步骤

1.引入库

<dependency> <groupId>io.github.biggg-guardian</groupId> <artifactId>guardian-repeat-submit-spring-boot-starter</artifactId> <version>1.10.0</version> </dependency>

2.配置yaml

如果你装了redis,就可以选择redis,没装redis,就用local就行。

3.加注解

@PostMapping("/submit") @RepeatSubmit(interval = 10, timeUnit = TimeUnit.SECONDS, message = "订单正在处理,请勿重复提交") public Result submitOrder(@RequestBody OrderDTO order) { return orderService.submit(order); }

@RepeatSubmit注解里面什么意思呢?

10 秒内同一个用户、同一个接口、同样的请求参数,第二次请求会被直接拦截,直接报message里面的消息。

这样,3步就好了。

写到这里,正常情况下就已经配置完了,下面还会有一些配置了不能生效的场景,我列举一下

配置不生效场景

场景

因为这个功能是通过拦截器实现的,所以如果你的项目中有使用拦截器,查看一下拦截器的配置信息,如果是public class InterceptorConfig extends WebMvcConfigurationSupport,那么你的配置就会失效,改为public class InterceptorConfig implements WebMvcConfigurer就可以了。


总结

这个本人在项目实战中用的场景,做了一些总结,然后分享给大家,希望能帮到你,谢谢

http://www.rkmt.cn/news/1518117.html

相关文章:

  • 【2026年6月】锻烧窑烘干设备厂家推荐指南 - 多才菠萝
  • AI早教机有用吗?同步体验,奇多多和其他产品对比差异 - 新闻快传
  • 消费指南:北京大兴区黄金回收去哪里好?三类特殊情况的处理建议 - 新闻快传
  • 暗黑破坏神2存档编辑器:5分钟打造完美角色的终极解决方案
  • CANN集合通信库hccl核心技术深度解析:从Ring-AllReduce到通算融合的昇腾NPU分布式训练性能优化全路径
  • 广州欧米茄表盘指针夜光涂层开裂!广州欧米茄外观损伤不用慌,亨得利专业科普翻新修复与防护技巧 - 亨得利官方维修中心
  • 解决Mission Planner中的HUD异常问题
  • 视频分析AI工具终极指南:5分钟快速部署与实战应用
  • 我的网盘下载革命:从蜗牛到火箭的转变之路
  • 消费指南:北京海淀区黄金回收去哪里好?三类特殊情况的处理建议 - 新闻快传
  • 2026年蜂蜜水深度测评:如何为你的日常饮用匹配最佳方案? - 资讯速览
  • 精通Cron表达式:深入解析APScheduler的妙用
  • 北京大兴区黄金回收平台哪个更靠谱?四个维度评测,爱回收为何综合领先 - 新闻快传
  • 固安汽修门店深度盘点|兴岩汽车修理厂领衔本地靠谱修车养车优选 - 百航
  • 2026 高品质土工膜厂家 TOP5 品质实力深度解析 - 思溯深度专栏
  • Chainer-fast-neuralstyle模型优化:提升风格迁移质量的关键参数
  • 临沂GEO优化公司哪家可靠?4个评判维度参考 - 速递信息
  • 如何免费获取全网音乐资源:LXMusic音源终极配置指南
  • 2026年晋城装修品牌TOP5榜单:匠心工艺与环保选材深度解析及避坑指南 - 装修新知
  • 收藏即用!零基础网安全路径:CTF + 挖洞 + 护网一站式就业规划
  • uBlock Origin如何重塑浏览器安全边界:从微内核设计到生态对抗的深度解析
  • 南京钻戒线下交易避坑实测测评:2026 资质齐全商户综合排名公示 - 讯息早知道
  • 手写一个mini版Spring:自动注册 + 依赖注入
  • 2026年西藏林芝靠谱的汽车贴膜门店榜单,贴车衣、汽车改色膜人气门店挑选指南 - 汽车新知百晓生
  • 2026 老旧品牌钻戒回收行情深度解析:五大商家实时行情报价实测测评 - 讯息早知道
  • 揭秘Scroll Reverser:3大技术突破终结macOS滚动混乱
  • 广州首饰回收靠谱指南|避坑 + 报价 + 流程全解析 - 讯息早知道
  • 甲基硫菌灵农药残留检测卡快速检测果蔬中的甲基硫菌灵农药残留
  • 2026昆明装修公司白皮书:5大本土实力装企实力解析 - 装修新知
  • 别再为论文配图发愁了!手把手教你用Ovito渲染LAMMPS轨迹文件(附气泡成核、结冰等案例)