API 設計 中階

API 版本控制策略有哪些?各自的優缺點為何?

AI 練習作答

API 版本控制策略

1. URL Path(最常見)

GET /api/v1/users / GET /api/v2/users

✅ 直覺、易於 logging、瀏覽器可直接測試 ❌ URI 應代表資源,加版本號不符 RESTful 原則

2. Query Parameter

GET /api/users?version=2

✅ URL 不變動 ❌ 容易被忘記,無法在 Gateway 層快速路由

3. Custom Request Header

Api-Version: 2

✅ URL 整潔,符合 REST 原則 ❌ 瀏覽器直接測試需工具輔助

4. Content Negotiation

Accept: application/vnd.myapp.v2+json

✅ 最符合 HTTP 語意 ❌ 複雜,開發與測試成本高

版本棄用(Sunset)策略

  1. 回應 Header 加 Sunset 日期通知客戶端
  2. 給 6-12 個月遷移期
  3. 同步更新文件並主動聯繫消費者

面試加分:提 Stripe 的版本策略:帳號建立時間鎖定預設版本,新功能用日期命名,是業界最佳實踐。

✦ AI 模擬面試

輸入你的答案,AI 即時分析精準度與改進空間

登入後即可使用 AI 評分