A
約 3 分鐘閱讀

HTTP 方法與狀態碼 — 讓 API 說人話

在設計或串接 API 時,我們最常打交道的就是 HTTP 方法(Methods)和狀態碼(Status Codes)。正確使用它們,能讓你的 API 更語意化、更易於維護,就像兩個人在用標準的語言溝通,而不是雞同鴨講。

HTTP 方法:動作是什麼?

最常見的方法對應到資料庫操作的 CRUD(PUT 與 PATCH 都對應「Update」,所以底下會介紹五種方法):

GET:讀取資料

POST:新增資料

PUT:更新資料(整筆替換)

PATCH:更新資料(部分修改)

DELETE:刪除資料

HTTP 狀態碼:結果如何?

狀態碼分為五大類:

1xx:資訊回應

2xx:成功(Success)

3xx:重新導向(Redirection)

4xx:客戶端錯誤(Client Error)

5xx:伺服器錯誤(Server Error)

為什麼要區分這麼細?

其實你可以永遠都回傳 200 OK,然後在 JSON 裡用 success: false 來表示錯誤。但這樣做有幾個缺點:

  1. 監控困難:運維系統通常只監控 HTTP 狀態碼。如果你都回 200,它會以為系統很健康,實際上可能全是錯誤。
  2. 不符合語意:瀏覽器和快取伺服器依賴狀態碼來決定行為(例如看到 304 就讀快取)。
  3. 溝通成本高:串接方需要去讀你的文件才知道 error_code: 999 是什麼意思,而不像 404 是通用語言。

結語

設計良好的 API 就像寫作,HTTP 方法是動詞,URL 是名詞,狀態碼是語氣。掌握這些基礎,能讓你寫出更優雅、更專業的介面。


站內相關文章: