gpt4 book ai didi

api - REST API 的并发检查?

转载 作者:行者123 更新时间:2023-12-01 10:58:28 27 4
gpt4 key购买 nike

我正在启动一个 REST API 来制作一个 Web 应用程序。

大多数网站会告诉您删除资源,向 /{resource}/{resource-id} 这样的 URI 发出 DELETE HTTP 请求。我害怕删除一些自从我检索到它后本可以更新的资​​源,甚至是错误的资源。

是否可以要求随请求一起发送资源的时间戳?我没有在任何地方看到它,但我认为它可能真的很有用。它将检查并发性并防止删除随机资源,甚至之前都没有检索它们。

最佳答案

使用 ETag 的 HTTP header 和 If-Match使用您的 DELETE 请求。

客户端 GET资源:

GET /things/42

服务器响应:

200 OK
ETag: "foo-bar-baz"

客户端想要DELETE资源:

DELETE /things/42
If-Match: "foo-bar-baz"

案例一: 东西42没变,可以删除。 服务器响应:

410 Gone

案例 2:事物 42 已更改且与 ETag:“foo-bar-baz” 不匹配。它没有被删除,服务器响应:

409 Conflict

变体:

您还可以使用标题 Last-ModifiedIf-Unmodified-Since代替或补充 ETagIf-Match

参见 Hypertext Transfer Protocol (HTTP) Status Code Registry .

关于api - REST API 的并发检查?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13251659/

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