cover

概念概覽

flowchart LR
    A[前端請求] -->|HTTP Request| B[API 介面層]
    B -->|路由解析| C[後端處理]
    C -->|SQL 查詢| D[(資料庫)]
    D -->|查詢結果| C
    C -->|格式化資料| B
    B -->|HTTP Response| A

API 是什麼?

API(Application Programming Interface,應用程式介面)是前後端資料對接的標準介面。

在前後端分離的架構下,API 定義了資料交換的格式與規範。透過 API,前端可以取得後端的資料,實現動態的網頁內容。

燈泡比喻

如果我預計要裝一個燈泡,你就不能給我燈管,不然會裝不上去。

API 就像是燈座的規格定義:

  • 燈座(API 介面)規定了接口規格
  • 燈泡(資料)必須符合規格才能安裝
  • 裝上後燈亮了(功能正常運作)

API 的資料設計

回傳格式

通常 API 回傳會包含以下欄位:

欄位說明
status操作成功還是失敗
message操作相關的訊息
data操作後的資料

命名慣例

API 的命名通常會反映其操作內容:

GET  /api/articles      → 取得文章列表
POST /api/articles      → 新增文章
GET  /api/articles/123  → 取得特定文章
PUT  /api/articles/123  → 更新特定文章
DELETE /api/articles/123 → 刪除特定文章

有沒有 API 的差別

傳統做法(無 API)

  • 後端直接把資料渲染到頁面(JSP、ASP、PHP 模板)
  • 優點:簡單直接,問題容易追蹤
  • 缺點:接手困難,需要理解整個資料流程

現代做法(有 API)

  • 前後端透過 API 介面溝通
  • 優點:職責分離、問題定位更單純
  • 缺點:需要額外維護 API 文件

實務上的 API

實務上不會完全遵守 RESTful API 規範,但基本的 HTTP Methods 使用是標準做法:

Method用途
GET取得資料
POST新增資料
PUT更新資料
DELETE刪除資料

延伸閱讀