API 並不是一成不變的,隨著需求與功能成長,API 經常需要 新增欄位、調整結構、甚至廢棄舊的設計。這時候,良好的 版本管理策略 就非常重要。
如果我們沒有版本管理:
有了版本管理,我們可以:
在路由中加入版本號:
GET /api/v1/users
GET /api/v2/users
透過 HTTP Header 傳遞版本號:
GET /api/users
Headers:
Accept: application/vnd.myapi.v1+json
使用查詢參數指定版本:
GET /api/users?version=1
通常建議:
import express from "express";
const app = express();
// v1 版本
app.get("/api/v1/users", (req, res) => {
res.json([{ id: 1, name: "Alice" }]);
});
// v2 版本
app.get("/api/v2/users", (req, res) => {
res.json([{ id: 1, username: "Alice", email: "alice@example.com" }]);
});
app.listen(3000, () => {
console.log("API running on http://localhost:3000");
});
這樣我們就能同時維護 v1 與 v2,逐步引導使用者轉換。
當舊版本 API 不再建議使用時,我們可以:
Deprecation: true
Sunset: Wed, 01 Jan 2026 00:00:00 GMT