我有一个端点
DELETE /events/<id>
在新版API中,我们将删除此API 。
现在,如果客户端请求相同的URL,我应该输出什么状态代码?
我找到了一些选择。
410 Gone
。这是最接近的。但这与资源有关。 这与管理API无关。我的意思是,如果GET /events/1
有效,那么将/events/1
声明为Gone
301 Moved Permanently
和302 Found
。它们用于重定向。但是替换不是GET
呼叫405 Method Not Allowed
。之所以有意义,是因为现在已允许使用方法DELETE
。但是它并没有说过去曾经被允许使用(不确定我们是否需要它)此端点支持的其他http方法是
GET /events/<id>/
POST /events/
POST /events/<id>/actions/
仅作澄清。当我搜索主题时,我会获得有关资源的更多信息。但是在这里,我担心API的折旧和删除。更多的是管理。
答案 0 :(得分:1)
这里有些东西扭曲了。
DELETE
是动词,表示方法,而不是端点。
/events
这是您的端点。
MDN建议410 Gone
用于已删除的资源。通用http上下文中的资源可以是任何东西。
超文本传输协议(HTTP)410消失的客户端错误响应 代码指示不再访问目标资源 在原始服务器上可用,并且这种情况很可能是 永久的。
https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/410
如果要显示某个方法已被删除但端点仍然存在,则可以使用405 Method not allowed
。
您还应该考虑对API进行版本控制。