Bla*_*rog 75 rest http http-status-codes deprecation-warning
我正在升级我们的REST API端点,并且我想在他们调用要弃用的端点时通知客户端.
我应该在响应中使用哪个标头,并显示"此API版本已被弃用,请参阅最新文档以更新您的终端"的消息
Ben*_*enC 66
我不会更改状态代码中的任何内容以向后兼容.我会在响应中添加一个"警告"标题:
Warning: 299 - "Deprecated API"
Run Code Online (Sandbox Code Playgroud)
您还可以使用发出警告的"代理"指定" - ",并在警告文本中更明确:
Warning: 299 api.blazingFrog.com "Deprecated API : use betterapi.blazingFrog.com instead. Old API maintained until 2015-06-02"
Run Code Online (Sandbox Code Playgroud)
警告标题在此处指定:https://tools.ietf.org/html/rfc7234#section-5.5.Warn-code 299是通用的,"Deprecated"不是标准的.
您必须告诉您的API客户端记录HTTP警告并对其进行监控.
我从来没有使用它,但是当我的公司在Rest API中更成熟时,我会整合它.
Ema*_*sev 34
你可以使用410(Gone).
以下是W3C的状态代码定义如何描述它:
410(已走)
请求的资源在服务器上不再可用,并且不知道转发地址.预计这种情况将被视为永久性的.具有链接编辑功能的客户端应该在用户批准后删除对Request-URI的引用.如果服务器不知道或无法确定条件是否是永久性的,则应该使用状态代码404(未找到).除非另有说明,否则该响应是可缓存的.
410响应主要用于通过通知接收方资源是故意不可用的以及服务器所有者希望移除到该资源的远程链接来辅助web维护的任务.这种事件对于限时,促销服务以及属于不再在服务器站点工作的个人的资源是常见的.没有必要将所有永久不可用的资源标记为"已消失"或将标记保留任何时间长度 - 这由服务器所有者自行决定.
小智 7
有一个名为 的 HTTP 标头字段Sunset,旨在表示资源即将弃用。https://datatracker.ietf.org/doc/html/draft-wilde-sunset-header正处于成为 RFC 的最后阶段。理想情况下,您的 API 应记录它将要使用的Sunset,以便客户可以查找它并根据需要采取行动。
我建议一个207 Multi-Status响应,表明它是一个成功的响应,但它也可能有第二个被弃用的状态.
小智 6
完善@dret 的回复。有弃用两个相关的HTTP标头:Deprecation(https://tools.ietf.org/html/draft-dalal-deprecation-header-00)和Sunset。
要通知用户计划弃用,Deprecation应使用 HTTP 标头。这表明端点将在未来的某个时间被丢弃。它还允许您指出宣布的日期,并描述替代资源。
要通知用户已弃用资源的计划停用日期,Sunset除了 Deprecation 标头之外,还应使用标头。这在第 5 节https://tools.ietf.org/html/draft-dalal-deprecation-header-00#section-5 中有所描述。
草案#11 https://tools.ietf.org/html/draft-wilde-sunset-header-11所述的Sunset报头阐明这一方面以及第1.4节https://tools.ietf.org/html/draft-wilde -sunset-header-11#section-1.4。
| 归档时间: |
|
| 查看次数: |
25485 次 |
| 最近记录: |