什麼是 API?用白話解釋前後端怎麼溝通
English · 繁中 · Español · 日本語 · Português (BR)
作者: Danko Peng(@dankopeng)
更新: 2026 年 3 月
閱讀時間: 約 7 分鐘
一個你每天都在用的比喻
你去餐廳吃飯。
你不會走進廚房自己煮,你會告訴服務生你想要什麼。服務生把你的需求傳給廚房,廚房做好之後,服務生把食物端出來給你。
服務生就是 API。
API 是前端(你)和後端(廚房)之間的溝通橋樑。前端不需要知道後端怎麼運作,只需要知道怎麼跟 API 說話。
API 到底是什麼?
API(Application Programming Interface) 是一組規則,定義了兩個系統之間怎麼溝通。
在 web app 的脈絡裡,通常指的是:
- 前端(瀏覽器裡的頁面)發送請求
- 後端 API(伺服器)接收請求、處理、回傳結果
一個典型的 API 請求長這樣:
前端問:「給我 userId = 123 的用戶資料」
→ GET /api/users/123
後端答:「好,這是他的資料」
→ { "id": 123, "name": "Danko", "email": "danko@example.com" }HTTP 方法:你在對 API 說什麼?
API 請求有四種常見的動作,對應不同的 HTTP 方法:
| 方法 | 用途 | 比喻 |
|---|---|---|
GET | 讀取資料 | 「給我看菜單」 |
POST | 新增資料 | 「我要點這道菜」 |
PUT / PATCH | 修改資料 | 「我要換成另一道菜」 |
DELETE | 刪除資料 | 「取消這道菜」 |
API 回應:後端說了什麼?
後端回應通常包含兩個部分:
HTTP 狀態碼——一個數字,告訴你結果如何:
| 狀態碼 | 意思 |
|---|---|
200 | 成功 |
201 | 新增成功 |
400 | 你的請求有問題(Bad Request) |
401 | 你沒有登入(Unauthorized) |
403 | 你沒有權限(Forbidden) |
404 | 找不到(Not Found) |
500 | 伺服器出錯(Server Error) |
回應內容——通常是 JSON 格式:
{
"success": true,
"data": {
"id": 123,
"name": "Danko"
}
}vibefast.app 的 API 架構
vibefast.app 用 Service Binding 讓前端和後端直接在 Cloudflare 內部溝通,不走公開網路。
瀏覽器
↓ HTTP 請求
Remix 前端 Worker
↓ Service Binding(內部,零 CORS)
Workers API
↓
D1 資料庫這意味著:
- 後端 API 沒有公開 URL,外部無法直接存取
- 前端和後端之間不需要設定 CORS
- 每次 API 呼叫少一次網路往返,速度更快
第三方 API:你的 app 也在呼叫別人的 API
你的 app 不只有自己的 API,也會呼叫別人的 API:
- Stripe API:「幫我建立一筆付款」
- Resend API:「幫我發一封郵件給這個用戶」
- Cloudflare API:
npm run deploy背後就是在呼叫 Cloudflare 的 API
這些第三方 API 需要 API key 才能使用——這就是為什麼上一篇說 API key 要好好保管在環境變數裡。
用 AI 設計 API 端點
這是 Vibe Coding 的實際應用場景。你可以直接告訴 AI:
「幫我在 Cloudflare Workers 裡建立一個 API 端點,GET /api/posts,回傳所有已發布的文章,按照建立時間倒序排列,每頁 10 筆。」
AI 會生成類似這樣的 code:
// apps/api/src/routes/posts.ts
app.get("/api/posts", async (c) => {
const page = Number(c.req.query("page") || 1)
const limit = 10
const offset = (page - 1) * limit
const posts = await c.env.DB.prepare(`
SELECT id, title, slug, created_at
FROM posts
WHERE status = 'published'
ORDER BY created_at DESC
LIMIT ? OFFSET ?
`).bind(limit, offset).all()
return c.json({ success: true, data: posts.results })
})你不需要自己寫這些,但看懂它在做什麼,能讓你更好地判斷 AI 的輸出是否正確。
總結
API 是前後端之間的溝通規則。記住三件事:
- 前端用 HTTP 方法(GET/POST/PUT/DELETE)告訴 API 要做什麼
- 後端用狀態碼(200/404/500)告訴前端結果如何
- 資料通常用 JSON 格式傳遞
Danko Peng
X · YouTube · Threads
👉 回到教程首頁
想直接上手完整的 Cloudflare 全棧模板?
👉 vibefast.app — 早鳥 $99,2026 年 8 月 1 日漲至 $199。