1

我正在重新设计我上个世纪的应用程序(请注意,效果很好),重新开始的机会让我调查了几个方面。这个问题是re。版本控制。

该应用程序实际上是提供资源的数据应用程序的集合——查询是 http,响应是 JSON。现在我想更改其中一个响应。在阅读之后,我决定通过 URI 或query_string. 相反,正如API 版本控制的最佳实践中所建议的那样?,尤其是第二个答案(Stackoverflow 上没有办法链接到特定答案吗?),我正在使用标题。然而,而不是使用Accept: application/vnd.company.myapp.customer-v3+json我正在使用

Accept: application/json
X-Requested-With:   XMLHttpRequest
X-Version:  2

在服务器端,我可以检查X-Version. 如果不存在,则查询使用最新的 API。它X-Version确实存在,然后使用请求版本。以上工作正常。

我的问题是——我应该注意什么问题?特别是。因为我把这个X-Version从我的屁股里拉出来了。据我所知,它不是官方认可的标题。

更新:德拉斯!甚至在发布此之前,我阅读了自定义 HTTP 标头:命名约定,看来我不应该使用X-前缀。但是,除非我首先进行尽职调查,否则我的本土标题可能会与现有标准发生冲突。想法?

4

2 回答 2

1

我更喜欢自定义标头,尤其是当前的反向代理趋势以及应用程序版本之间的微服务和流量管理。

X-App: <app_name>:<app_version>
于 2019-10-02T00:38:37.023 回答
0

关于执行此操作的“正确”方式存在很多争论。对于一些高级想法,请查看 mnot 的:WEB API VERSIONING SMACKDOWN

如需深入讨论,请查看 API-Craft 的这篇文章:https ://groups.google.com/forum/#!topic/api-craft/E8MBkzirdcw

就我个人而言,我赞成将媒体类型版本控制和链接关系版本控制相结合来实现这一点。

于 2013-06-24T20:04:13.677 回答