【发布时间】:2013-09-19 21:37:27
【问题描述】:
我正计划编写一个 RESTful API,但我不知道如何处理版本控制。 我已经阅读了许多讨论和博客文章,其中建议使用接受标头进行版本控制。
但后来我发现以下网站正在监听流行的 REST API 及其版本控制方法,其中大多数使用 URL 进行版本控制。 为什么?
为什么大多数人都说:“不要使用 URL,而是使用接受头”,而流行的 API 使用 URL?
【问题讨论】:
-
这只是两种不同的方法,使用URL时不能出错,而且没有“默认”可能会造成混淆。
-
作为开发者,你觉得哪种方式更容易实现?如果您是客户,您认为哪个版本更易于使用?
-
不使用标头的一个原因是如果您将浏览器作为客户端并且需要使用 JSONP 或 CORS 进行跨域/协议调用。 JSONP 无法指定标头,某些浏览器(例如 IE8)上的 CORS 也无法指定标头。
-
根据我的经验,对于客户来说,一种方式与另一种方式没有太大区别,使代码使用特定版本(更改 URL 与标头)所需的更改在两个选项中都很小(如果你真的逼我,我什至会给 URL 选项带来一点优势,因为它更清楚地传达了它是什么版本。
标签: rest