Stripe API documentation for versioning州:
当我们对API进行向后兼容的更改时,我们会发布新的日期版本。当前版本是2014-12-08。
它提供了如何访问特定版本的charge
API的示例:
curl https://api.stripe.com/v1/charges \
-u sk_test_BQokikJOvBiI2HlWgH4olfQ2: \
-H "Stripe-Version: 2014-12-08
如果header参数是指定版本的内容(在本例中为2014-12-08),则url中\v1\
的用途是什么?
答案 0 :(得分:4)
工程师希望我们思考的答案:我猜是在某个时刻,Stripe的API可能会发生重大变化,以及如何编排所有内容,因此希望他们做出如此大的改动,如重命名v2 。这样v1将是一个主要版本,然后像2014-12-08这样的版本将是次要版本。因此v1是一种语义版本控制形式。
然而,真正发生的事情是他们发布了第一个api并在v1中调用。然后他们意识到他们必须开始更新它,就像“好吧,如果我们开始将v1更改为v2然后再转到v3,每次我们发布更新时,用户都需要更新他们的代码以调用正确的版本。所以他们想出了这个版本标题允许他们使用相同的URL来访问API版本,并且url中的v1只是残留。