我打算编写一个 RESTful API,但我不知道如何处理版本控制。我已经阅读了许多讨论和博客文章,其中建议使用接受标头进行版本控制。
但后来我发现以下网站正在监听流行的 REST API 及其版本控制方法,其中大多数使用 URL 进行版本控制。为什么?
为什么大多数人说:“不要使用 URL,而是使用接受头”,而流行的 API 使用 URL?
我打算编写一个 RESTful API,但我不知道如何处理版本控制。我已经阅读了许多讨论和博客文章,其中建议使用接受标头进行版本控制。
但后来我发现以下网站正在监听流行的 REST API 及其版本控制方法,其中大多数使用 URL 进行版本控制。为什么?
为什么大多数人说:“不要使用 URL,而是使用接受头”,而流行的 API 使用 URL?
这两种机制都是有效的。您需要了解您的消费者才能知道该走哪条路。一般来说,与企业和有学术头脑的人一起工作倾向于将开发人员指向资源头版本控制。但是,如果您的客户是小型企业,那么 URL 版本控制方法将得到更广泛的使用。
优点和缺点(我敢肯定还有更多,一些缺点有这里没有提到的变通办法)
它更具探索性。对于大多数请求,您可以只使用浏览器,而 Resource Header 实现需要更编程的测试方法。但是,由于并非所有 HTTP 请求都是可探索的,例如 POST 请求,您应该使用像Postman或Paw这样的 Rest Client 插件。 URI Pro/Header Con
使用 URI 版本化的 API,资源标识和资源的表示是混合在一起的。这违反了 REST 的基本原则;一种资源应由一个且只有一个端点标识。在这方面,Resource Header 版本控制选择在学术上更加理想化。标头 Pro/URI Con。
如果您想进一步阅读,这里有一些有用的链接: