【发布时间】:2015-04-24 09:16:39
【问题描述】:
我们将弃用 REST 服务,并希望将此通知客户。遵循的最佳做法是什么?
我可以想到以下选项
- 将弃用警告消息作为服务响应 JSON/XML 的一部分传递
- 在 HTTP“警告”响应标头中传递警告消息。
您能分享一下您的想法吗?
【问题讨论】:
标签: api rest client warnings deprecated
我们将弃用 REST 服务,并希望将此通知客户。遵循的最佳做法是什么?
我可以想到以下选项
您能分享一下您的想法吗?
【问题讨论】:
标签: api rest client warnings deprecated
我不会更改状态代码或服务响应中的任何内容以向后兼容。我会在响应中添加一个“警告”标题。
Warning: 299 - "Deprecated API"
您也可以查看此(旧)回复:https://softwareengineering.stackexchange.com/questions/55081/deprecate-a-web-api-best-practices
【讨论】:
有一个 IETF 草案 "The Deprecation HTTP Header Field" 建议在服务器响应中添加特殊的 HTTP 标头。
第一个例子显示了一个没有日期信息的弃用头字段:
Deprecation: true
第二个示例显示了一个带有日期信息的弃用标头和一个指向后续版本的链接:
Deprecation: Sun, 11 Nov 2018 23:59:59 GMT
Link: <https://api.example.com/v2/customers>; rel="successor-version"
第三个示例显示了一个弃用标头字段,其中包含后续版本和 API 弃用政策的链接。此外,它还显示了已弃用资源的截止日期:
Deprecation: Sun, 11 Nov 2018 23:59:59 GMT
Sunset: Wed, 11 Nov 2020 23:59:59 GMT
Link: <https://api.example.com/v2/customers>; rel="successor-version", <https://developer.example.com/deprecation>; rel="deprecation"
【讨论】: