gpt4 book ai didi

http - 不直接导致数据操作但触发操作的 RESTful HTTP 请求是否应该具有 GET、PUT 或 POST 操作?

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

这是给 RESTful Nerd 的一个问题。请允许我搭建舞台。

假设我有一个名为 ChickenShack 的远程系统和一个名为 BurgerShack 的本地系统,这两个系统是集成的,因此每个系统都维护实体数据的“同步”副本。当 ChickenShack 上的实体发生更改时,它会将这些实体的 ID 集合作为 RESTful 请求发送到 BurgerShack。 BurgerShack 然后向 ChickenShack 发出 GET 请求,请求更改实体的所有属性并更新实体的本地副本。

enter image description here

所有这些都是异步的,并且是围绕某些约束设计的(所以如果你觉得不好,请意识到在生活中有时我们不得不吃屎和微笑)。

我的问题是:ChickenShack 向 BurgerShack 发出的初始请求应该是 GET 请求还是 PUT 请求?由于最初的请求是幂等的,我的一部分说“GET”。然而,它确实最终导致 Burger 上的数据被更改,所以我的另一部分说“PUT”或“POST”。

你怎么看?

最佳答案

我会选择 POST 因为:

  • 它确实改变了 BurgerShack 中的状态(我不认为它是幂等的,因为它触发了从 BurgerShack 到 ChickenShack 的 GET)
  • 它不会在该特定 URL 上创建新资源(这排除了 PUT)

关于http - 不直接导致数据操作但触发操作的 RESTful HTTP 请求是否应该具有 GET、PUT 或 POST 操作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6203941/

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