(3)最后,需要将上述自定义的拦截器加入中系统全局配置中,如下所示:
@Componentpublic class CustomWebConfig implements WebMvcConfigurer{@Autowiredprivate RepeatSubmitInterceptor submitInterceptor;@Overridepublic void addInterceptors(InterceptorRegistry registry) {registry.addInterceptor(submitInterceptor);}}
运行项目,打开Postman,连续多番进行测试,如下几张图所示:
![Java如何防止接口重复提交](http://img.jiangsulong.com/220422/221S331Z-1.jpg)
文章插图
![Java如何防止接口重复提交](http://img.jiangsulong.com/220422/221S34X6-2.jpg)
文章插图
![Java如何防止接口重复提交](http://img.jiangsulong.com/220422/221S34R4-3.jpg)
文章插图
至此,我们已经采用实际的代码实战实现了“如何防止接口重复提交”的功能,值得一提的是,上述代码在实现过程中,其核心在于缓存组件的搭建;在“重复提交”这一业务场景中,它需要满足两个条件方可发挥作用:一个是可以用于缓存信息,即具有Key - Value的特性;另一个是可以对存储的数据设置过期时间;
在这里笔者采用的是google开发工具类中的CacheBuilder构建本地缓存组件的,感兴趣的小伙伴可以自行搜索相关资料;然而这种实现方式在集群多实例部署的情况下是有问题的,因为CacheBuilder只适用于单一架构体系,所以如果是多实例集群部署的情况,最好用redis 。
(1)文中涉及到的代码已经放在gitee上了,访问链接如下所示,别忘了给个star哦:https://gitee.com/steadyjack/SpringBootTechnologyA 。
(2)期间如何有任何问题都可以私信debug 。
(3)请继续关注“程序员实战基地”,您的关注和转发 就是 debug勤劳写技术文的动力!!!
【Java如何防止接口重复提交】
推荐阅读
- dead-lock 什么是死锁?如何避免死锁详解
- 大中小型视频监控系统IP地址如何规划?组网方式如何选择?
- 如何自己动手更换运营商宽带光猫,需要注意什么?
- 刀剑收藏价值如何
- 教你如何改善孩子的固执性格
- 房间大了怎么做隔断 房间大如何隔开用空调
- 护发产品如何使用 如何正确使用护发产品
- 现在ktv的发展如何 ktv行业现状
- 空调如何清洗过滤网 柜机空调清洗怎么清洗过滤网
- 碧螺春如何冲泡,如何判断染色碧螺春