天天看點

API開發的版本控制技巧《API開發的版本控制技巧》

版權聲明:本文為部落客chszs的原創文章,未經部落客允許不得轉載。 https://blog.csdn.net/chszs/article/details/42779095

《API開發的版本控制技巧》

作者:chszs,轉載需注明。部落格首頁:

http://blog.csdn.net/chszs

在設計和建構API時,API的版本控制是非常重要的。

必須確定新API對于現有的API不會造成破壞。

首先,也是最重要的,可以把版本号放入API的URL中。這樣可以把主要版本更新放入API。比如,我們在調用CHUser Center API時,可以在URL中使用/api-v1或/api-v2來指出所使用的API版本。這是很常見的做法。

在API版本控制中,還有一點也很重要。希望API能支援次要版本的更新。次要版本更新所造成的變化仍然會影響接口,是以有可能會影響目前API的使用者,但它們與主版本的URL和API的基本功能都在變化不同,URL和API基本功能仍然是相同的。比如在CHUser Center API,次要版本的修改是通過客戶在API調用時發起請求的HTTP頭部做指定的。

頭部的版本元素看起來是這樣的:

Element-Version: 1

再舉一個API次要版本更新的例子,如果我們想修改響應的JSON字段的名稱。假設我們有一個名為GET /people的API調用,它會傳回以下JSON資料:

{

  “firstN”: “foo”

}

我們決定把JSON字段中的firstN改成firstName。很顯然,這隻是一個小改動,是以它屬于API次要版本更新的範疇,無須做主版本的修改和不同的URL簽名。是以,我們會建立另一個GET /people接口,要調用它還需要在HTTP頭部加上

Element-Version: 2

然後就會傳回以下JSON資料:

  “firstName”: “foo”

在CHUser Center API中,當一個新使用者注冊後,我們會設定此使用者的HTTP頭部預設為CHUser Center上最新的Elements-Version版本。這可以保證新使用者總是使用我們提供的最新API服務,這樣就無須在每次API調用時指定任何HTTP頭部元素了。當然,也可以手動指定版本。