gpt4 book ai didi

rest - 如何指示 REST API 端点已删除

转载 作者:可可西里 更新时间:2023-11-01 17:18:03 24 4
gpt4 key购买 nike

我有一个端点

DELETE /events/<id>

在新版本的 API 中,我们将移除此 API

现在,如果客户端请求相同的 URL,我应该输出什么状态码

我找到了几个选项。

  1. 410 Gone .这是最近的一个。但是跟资源有关。 这与管理 API 无关。我认为它的意思是,如果 GET /events/1工作然后声明/events/1没有意义是Gone
  2. 301 Moved Permanently302 Found .它们用于重定向。但替换不是 GET打电话
  3. 405 Method Not Allowed .作为方法 DELETE 是有意义的现在不再允许了。但是它没有说过去允许它(不确定我们是否需要它)

此端点支持的其他 http 方法是,

GET /events/<id>/
POST /events/
POST /events/<id>/actions/

只是为了澄清。当我用谷歌搜索该主题时,我获得了有关资源的更多信息。但在这里我关心的是 API 的折旧和删除。它更像是一种管理。

最佳答案

你在这里扭曲了一些东西。

DELETE 是动词,表示方法,而不是端点。

/events 这是您的端点。

MDN 建议对已删除的资源使用 410 Gone。通用 http 上下文中的资源可以是任何内容。

The HyperText Transfer Protocol (HTTP) 410 Gone client error response code indicates that access to the target resource is no longer available at the origin server and that this condition is likely to be permanent.

https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/410

如果您想显示一个方法已被删除但端点仍然存在,您可能会使用 405 Method not allowed

您还应该考虑对 API 进行版本控制。

关于rest - 如何指示 REST API 端点已删除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53151738/

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