Mat*_*iak 5 versioning asp.net-web-api stripe-payments
当我们对API进行向后兼容的更改时,我们会发布新的日期版本.当前版本是2014-12-08.
它提供了如何访问charge特定版本的API 的示例:
curl https://api.stripe.com/v1/charges \
-u sk_test_BQokikJOvBiI2HlWgH4olfQ2: \
-H "Stripe-Version: 2014-12-08
Run Code Online (Sandbox Code Playgroud)
如果header参数是指定版本的内容(在本例中为2014-12-08),\v1\则url中的用途是什么?
工程师希望我们思考的答案是:我猜测在某个时刻,Stripe 的 API 以及一切的编排方式可能会发生重大变化,因此希望他们做出如此大的改变,例如将其重命名为 v2。这样 v1 将是主要版本,然后像 2014-12-08 这样的版本将是次要版本。因此 v1 是语义版本控制的一种形式。
然而,真正发生的情况可能是他们发布了第一个 api 并在 v1 中调用。然后他们意识到他们必须开始更新它,并且就像“如果我们开始将 v1 更改为 v2,然后更改为 v3,每次我们发布更新时,用户都需要更新他们的代码以调用正确的版本。所以他们想出了这个版本标头让他们可以使用相同的 URL 来控制 API 版本,而 url 中的 v1 只是残留的。
| 归档时间: |
|
| 查看次数: |
1769 次 |
| 最近记录: |