階段 4 · 資料放哪、怎麼串

REST API

用 URL 與 HTTP 方法操作資料的一種 API 設計方式。

先用一句話理解

用 URL 與 HTTP 方法操作資料的一種 API 設計方式。

打個比方

像用不同動詞對不同資料夾做讀取、新增、修改、刪除。

什麼時候會遇到

需要讓前端、App 或第三方系統存取後端資料時。

再往深一點看

REST API 是 API 的一種具體設計風格:用 URL 表示資源(例如 /users/123),用 HTTP 方法表示動作(GET 讀取、POST 新增、PUT/PATCH 修改、DELETE 刪除)。它的重點是「無狀態」——每次請求都帶完整資訊,伺服器不記得上一次的請求。REST API 與一般 API 的差別在於它有明確的 URL 結構慣例;另一種常見的替代方案是 GraphQL,前端可以只取需要的欄位,但架構複雜一些。對初學者來說,REST API 是最容易理解、工具支援最多的選擇。

舉個例子

你用 GitHub REST API 取得使用者資訊:送出 GET https://api.github.com/users/octocat,GitHub 回傳 JSON 包含使用者名稱、頭像、公開 repo 數量。如果你要建立新 issue,就改用 POST /repos/:owner/:repo/issues,方法不同、URL 不同,但都是同一個 REST 風格。

常見誤解

  • - URL 命名混亂,例如 /getUser、/deletePost?id=1,沒有遵守資源路徑慣例,讓別人很難猜出 API 的規則。
  • - 回傳的 HTTP 狀態碼不正確,例如找不到資料卻回傳 200,導致呼叫方判斷不出是成功還是失敗。
  • - 沒有統一錯誤格式,不同 endpoint 的錯誤訊息格式都不同,前端每支都要特別處理。

相關名詞

相關服務

PostmanGitHub

相關工具