我一直在寻找github API的当前版本,但似乎被忽略了。

https://api.github.com/

我个人正在考虑在我自己的API中添加一个新字段,但是我想知道这是一种常见做法还是应该以其他方式进行。

#1 楼

许多API在服务的网址中都包含版本号。一些例子:我/帐户余额
https://vision.googleapis.com/v1/images:annotate?key=YOUR_API_KEY
https://maps.googleapis.com/maps/api/js?v=3.29
https://westeurope.api.cognitive.microsoft.com/vision/v1.0/analyze
https://www.europeana.eu/api/v2/opensearch.rss?searchTerms=Rembrandt

但是,互联网上许多人认为这是不正确的,因为它违反了REST / HTTP规范; “将API版本嵌入URI将破坏作为应用程序状态引擎的超媒体的概念”。使用Accept标头请求特定版本更为合适。对于后者,建议使用Vendor MIME类型,例如Accept: application/vnd.mycompany-api-v3+json

。尽管如此,许多API设计人员确实在URL中包含API版本的原因是因为它易于实现和调试(注意:在我们组织中,我们最近决定同时支持始终指向我们API的最新稳定版本的无版本端点以及具有以下功能的端点:版本规范。这样,用户可以选择是要提交到我们的最新API(在发布较新版本时可能需要进行更改),还是要连接到固定的API版本(随着时间的推移而过时)。