HessianTes 2022-01-06 10:03 采纳率: 58.3%
浏览 62
已结题

web请求提交接口如何防重复提交

我们现在的防重复提交方法是 写的自定义注解+切面的方式来实现防重复提交 将请求路径和请求的token组成redis的key 然后存在redis里面,下次进来看这个key是否存在 我们设置的过期时间是1s。
现在出现了问题 ,我们注册的时候有个操作是会去请求第三方接口的操作,但是这个时候返回的比较慢,就可能超过了1s,然后前端还没返回过去,他又请求过来了,这个时候第一个请求第三方返回了 然后执行了下面的操作,结果导致生成了重复的数据,分布式项目没有采用session的方式来进行重复提交验证,

  • 写回答

6条回答 默认 最新

  • zhengxchuang 2022-01-06 10:21
    关注

    key校验成功了马上就可以删了吧,过期时间可以设长一点,保证不一直堆积在redis里就行

    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 2月16日
  • 修改了问题 1月6日
  • 创建了问题 1月6日