HTTP响应头的惯例是向客户端通知弃用的API

我正在升级我们的REST API端点,我想在通知客户端调用不推荐使用的端点时通知客户端。
我应该在响应中使用什么标题,并在“此API版本已被弃用,请查阅最新文档以更新您的端点”

我不会改变状态码中的任何东西来向后兼容。 我会在响应中添加一个“警告”标题:

Warning: 299 - "Deprecated API" 

您也可以使用发出警告的“代理”来指定“ – ”,并且在警告文本中更加明确:

 Warning: 299 api.blazingFrog.com "Deprecated API : use betterapi.blazingFrog.com instead. Old API maintained until 2015-06-02" 

警告标题在这里指定: https : //tools.ietf.org/html/rfc7234#section-5.5 。 警告码299是通用的,“弃用”不是标准的。

您必须告诉您的API客户端loggingHTTP警告并进行监控。

我从来没有使用过它,但是当我的公司在Rest API中更加成熟时,我会整合它。

你可以使用410(去) 。

以下是W3C的状态代码定义如何描述它:

410(去)

所请求的资源在服务器上不再可用,并且不知道转发地址。 预计这种情况将被视为永久性的。 具有链接编辑function的客户端应该在用户批准后删除对Request-URI的引用。 如果服务器不知道或无法确定该条件是否是永久性的,则应该使用状态码404(Not Found,未find)。 除非另有说明,否则此响应是可caching的。

410响应的主要目的是通过通知接收方资源被故意不可用以及服务器所有者希望去除到该资源的远程链接来帮助networking维护的任务。 这样的事件对于有限时间的促销服务以及属于不再在服务器现场工作的个人的资源是很常见的。 没有必要将所有永久不可用的资源标记为“不存在”或将标记保留任意时间长度 – 这由服务器所有者决定。

我会/去了301 (永久移动)300系列代码应该告诉客户他们有一个行动。

我build议使用207 Multi-Status响应,表示这是一个成功的响应,但也可能有第二个弃用的状态。