gpt4 book ai didi

http - POST 不是幂等的后果(RESTful API)

转载 作者:可可西里 更新时间:2023-11-01 15:04:37 28 4
gpt4 key购买 nike

我想知道我目前的方法是否有意义,或者是否有更好的方法。

我有多种情况需要创建新对象并让服务器为这些对象分配一个 ID。发送 POST 请求似乎是最合适的方式。然而,由于 POST 不是幂等的,请求可能会丢失,再次发送它可能会创建第二个对象。此外,请求丢失可能很常见,因为 API 经常通过移动网络访问。

因此,我决定将整个过程分成两步:

  1. 首先发送一个 POST 请求来创建一个新对象,该对象在 Location header 中返回新对象的 URI。

  2. 其次,对提供的 Location 执行幂等 PUT 请求,以使用数据填充新对象。如果在 24 小时内没有填充新对象,服务器可能会通过某种批处理作业将其删除。

这听起来合理还是有更好的方法?

最佳答案

POST 创建相对于 PUT 创建的唯一优势是服务器生成 ID。我认为缺乏幂等性(然后需要删除重复项或空对象)不值得。

相反,我会使用带有 UUID 的 PUT在网址中。由于 UUID 生成器,您是 nearly sure您在客户端生成的 ID 在服务器端将是唯一的。

关于http - POST 不是幂等的后果(RESTful API),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13991904/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com