发布于 2022-09-12 13:15:51
您可以使用425作为错误代码来处理幂等请求。
现实世界的例子:我想请求我的api通过一些不可靠的老银行API把钱寄给某人。与60%的时间一样,底层api足够快,但是40%的客户端会在等待时超时。如果他们在超时后重试,请求可能会使他们的账单增加一倍。
因此,在我的API中,我要求发送者发送一个transactionId
,然后当他们重试请求时,他们会重新发送相同的transactionId
。在我的apis方面,我将存储这个transactionId
,然后启动(可能长期运行的)货币转移。传输完成后,将结果保存到transactionId
,然后将200(transferResult)
返回给发件人。
如果客户端变得不耐烦并重新尝试,那么下一个web请求将看到transactionId
仍在飞行中,并过早返回425。然后,他们可以等待几秒钟,然后再尝试获得更多的425太早的响应,直到传输完成,然后您将200(transferResult)
返回给发送方。
我知道这个答案迟了6个月,但也许这有助于理解425可以用来做什么。
https://stackoverflow.com/questions/71448139
复制相似问题