改變是不可避免的。但破壞使用者的程式碼卻不是。API 版本控制允許您在演進 API 的同時,讓現有的整合保持運作。何時進行版本控制?#
非破壞性變更:新增一個可選欄位。 -> 不需要更改版本(或次要修補程式)。
破壞性變更:重新命名欄位、移除參數、更改資料類型。 -> 需要新版本。
1. URI 版本控制(最常見)#
優點:URI 保持乾淨(GET /users 永遠是路徑)。
缺點:較難在瀏覽器中測試(需要擴充功能),快取較棘手。
3. 查詢參數版本控制#
管理棄用#
1.
Sunset Header:使用 Sunset HTTP Header 來宣佈端點何時停止運作。Sunset: Sat, 31 Dec 2025 23:59:59 GMT
2.
溝通:提前透過電子郵件通知您的開發者(對於主要 API,需提前 6 到 12 個月)。
3.
Brownouts(部分停機):短暫、有計畫地停止舊 API 的運作,以引起忽略電子郵件的開發者的注意。
關鍵收穫#
避免破壞:盡可能進行疊加式變更(非破壞性),以避免版本控制的成本。
明確:URI 版本控制 (/v1) 由於其清晰性,是公共 API 的產業標準。
為死亡做計畫:您誕生的每個版本都需要一個最終如何退役的計畫。
Modified at 2025-12-29 09:35:19