相关疑难解决方法(0)

如何在同时接收具有相同ID的多个请求时保持API幂等?

从我看到的很多文章和商业API中,大多数人通过要求客户提供requestId或idempotent-key(例如https://www.masteringmodernpayments.com/blog/idempotent-stripe-requests)来使其API具有幂等性.基本上将requestId < - >响应映射存储在存储中.因此,如果有一个已经存在于此映射中的请求,则应用程序将仅返回存储的响应.

这对我来说都很好,但我的问题是如何处理第一次通话仍在进行中第二次通话的情况?

所以这是我的问题

  1. 我想理想的行为是第二​​个呼叫一直等到第一个呼叫结束并返回第一个呼叫的响应?人们这样做是怎么回事?

  2. 如果是,第二个呼叫等待第一个呼叫完成需要多长时间?

  3. 如果第二个呼叫有等待时间限制且第一个呼叫仍未完成,它应该告诉客户端什么?它是否应该不返回任何响应,以便客户端超时并再次重试?

api rest http idempotent

4
推荐指数
1
解决办法
2918
查看次数

标签 统计

api ×1

http ×1

idempotent ×1

rest ×1