首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >API版本控制,指向不版本化API的位置

API版本控制,指向不版本化API的位置
EN

Software Engineering用户
提问于 2017-01-11 10:17:36
回答 1查看 337关注 0票数 3

当URL中有一个API版本时,我总是看到讨论的内容。

我是说看看这三个网址。

http://host/api/customers/1

http://host/v1/api/customers/1

http://host/v2/api/customers/1

在我读到的每一篇博文中,他们都在谈论指向第一个URL的位置。首先,我会禁用那个URL,它能带来什么好处?即使我有那个URL,我也会很明显地把它指向最古老的支持版本,并且希望用它来代替它!(因为我拥有这个URL的唯一原因是,在发布之前,我会忘记可能有版本)

这不仅是因为我看不出将它绑定到最新API的意义,而且它是最糟糕的事情,甚至是愚蠢的!

你对此有何看法?为什么人们都会写这个原谅我愚蠢的URL?

EN

回答 1

Software Engineering用户

回答已采纳

发布于 2017-01-11 13:19:29

有些人在API的第一个版本中使用第一个URL格式,因为他们当时没有考虑如何管理版本控制(或者等到需要第二个版本时才做出决定)。其他人之所以使用它,是因为他们不使用URL来确定要使用的版本,或者允许其他方法来告诉服务器正在使用哪个版本(标头等)。

最终,在发布API时,最重要的是确保它是一致的、逻辑的和文档化的。

我同意您的观点,当您提供API版本标识符可见的URL时,无版本URL几乎没有值(除非API的版本1是如何使用的),并且可能会使API使用者感到困惑。如果你能链接到一些你读过的主张使用它的博客文章,那就太好了,因为我个人还没见过它们。

如果要提供第一个URL,并设置适当的版本检测机制(使用X-API-Version之类的专用标头或使用专用MIME类型),则其他两个URL可能最好不存在。

(应该注意的是,使用X-API-Version并不能解决问题,而只是转移问题;因为如果没有设置标头,那么您的API应该如何运行呢?无论它是以v1的形式运行,还是返回一个错误消息,告诉API使用者提供版本,第一种URL格式可能也是如此。)

关于这个主题的有趣文章:您的API版本控制是错误的,这就是为什么我决定做3种不同的错误方式(特洛伊亨特)

票数 5
EN
页面原文内容由Software Engineering提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://softwareengineering.stackexchange.com/questions/339963

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档