此问题是关于如何回复重试的POST
请求。
虽然POST
不必保证幂等性,但我们通常必须这样做。例如,POST
/orders
资源创建的订单应该能够安全地重试,因为请求或响应可能由于多种原因而失败(条带https://stripe.com/blog/idempotency建议通过唯一的幂等性来处理此问题每个请求的密钥)。
API是否应该使用重试请求回复201 Created
,还是应该200 OK
?推荐的方法是什么?
为重试的请求返回201
似乎不正确,因为先前的请求可能实际上已经创建了资源,并且重试的请求没有效果(例如,在客户端没有接收到响应的情况下)最初创建,导致它重试)