当前位置: 首页 > 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.jsqmd.com/news/1006337/

相关文章:

  • 2026天津品牌首饰回收门店全域实测|北方闲置大牌首饰梵克雅宝规范变现指南 - 薛定谔的梨花猫
  • 终极指南:如何在Windows电脑上轻松安装安卓应用
  • Obsidian Copilot:将你的笔记库升级为智能第二大脑的完整指南
  • 2026年装修修公司优选:鹤壁口碑好的全案设计装修公司怎么选如何选? - 新闻快传
  • MAA明日方舟助手:5步轻松实现全日常自动化,告别繁琐手动操作
  • 暗黑破坏神2存档编辑器:5分钟打造完美角色的终极解决方案
  • lerna-changelog 安全指南:GitHub Token 管理和权限控制
  • 【2026年6月】锻烧窑烘干设备厂家推荐指南 - 多才菠萝
  • AI早教机有用吗?同步体验,奇多多和其他产品对比差异 - 新闻快传
  • 消费指南:北京大兴区黄金回收去哪里好?三类特殊情况的处理建议 - 新闻快传
  • PathOfBuilding中文显示优化:深入解析字体渲染问题与解决方案
  • Conduit性能优化:10个技巧提升你的后端服务响应速度
  • i.MX21 PLL时钟控制器详解:ARM9低功耗模式与寄存器级编程实战
  • sshmuxd未来展望:SSH代理技术的发展趋势与路线图
  • 解决Mission Planner中的HUD异常问题
  • 终极解决方案:微信QQ防撤回补丁完全指南 - 让撤回消息无所遁形
  • 深入解析NXP LS2088A安全引擎:FIFO STORE与MOVE命令实战指南
  • 视频分析AI工具终极指南:5分钟快速部署与实战应用
  • 保定减肥训练营怎么选?鑫加健身等热门训练营实测对比(2026年最新避坑指南) - 资讯速览
  • 真力时官方售后服务中心全网核验结果(含迁址与新增网点) - 亨得利官方服务中心
  • CANN集合通信库hccl核心技术深度解析:从Ring-AllReduce到通算融合的昇腾NPU分布式训练性能优化全路径
  • 3分钟快速上手:使用bilibili-parse免费获取B站视频原始链接的终极指南
  • 广州欧米茄表盘指针夜光涂层开裂!广州欧米茄外观损伤不用慌,亨得利专业科普翻新修复与防护技巧 - 亨得利官方维修中心
  • Conventional-Commit-Types深度解析:为什么你的团队需要Emoji提交规范 [特殊字符]
  • 我的网盘下载革命:从蜗牛到火箭的转变之路
  • 2026年十大商用环保无管道油烟机品牌排行榜,口碑遥遥领先! - 速递信息
  • 2026苏州上门闲置回收靠谱吗?固本金回收管家实操说明 - 速递信息
  • MCAL - ADC 配置介绍
  • E-HentaiViewer:iOS平台二次元内容浏览的终极解决方案深度解析
  • 消费指南:北京海淀区黄金回收去哪里好?三类特殊情况的处理建议 - 新闻快传