新手指南:什麼是 RESTful API?

Published October 27, 2024 by 徐培鈞
基礎概念

在現代的網頁應用和手機應用中,後端和前端之間如何交換資料,是一個非常重要的話題。

這時候,「API」就會登場,而 RESTful API 是其中最常見的一種類型。

這篇文章將幫助新手了解什麼是 RESTful API,以及它在應用開發中的作用。


什麼是 API?

在介紹 RESTful API 之前,我們先來了解一下什麼是 API。

API 全名是「應用程式介面」(Application Programming Interface),它是一組定義好讓程式之間進行交流和數據交換的規則和方法。

可以把 API 想像成一個應用程序之間溝通的橋梁,讓不同的應用程式彼此互相交談。

在 Web 開發中,API 通常用於讓前端應用(例如瀏覽器上的 JavaScript),與後端伺服器進行通訊和數據交換。

當你在網頁上點擊某個按鈕,來查看最新的天氣預報,這背後就是通過 API 向伺服器請求天氣數據的過程。


REST 是什麼?

REST(Representational State Transfer)是一種設計 API 的架構風格,它讓應用之間的溝通變得簡單、規範且容易理解。

REST 並不是一個標準,而是一組規範 API 設計的準則,這些準則確保了 API 在設計和使用上具有一致性和可擴展性。

REST 的核心思想是:每一個 URL 都代表一個資源,而不同的 HTTP 方法(如 GET、POST、PUT、DELETE)用來對這些資源進行不同的操作。

例如,如果你有一個存儲用戶資料的系統,你可以通過以下方式來操作:

  • GET /users:獲取所有用戶的資料
  • GET /users/{id}:獲取特定用戶的資料
  • POST /users:新增一個新的用戶
  • PUT /users/{id}:更新某個用戶的資料
  • DELETE /users/{id}:刪除某個用戶

RESTful API 是什麼?

RESTful API 就是遵循 REST 原則設計的 API。

通過使用簡單的 URL 和常見的 HTTP 方法,RESTful API 提供了一個結構化,且容易理解的方式來與伺服器進行數據交換。

RESTful API 的特點

  1. 基於資源(Resource-Based):在 RESTful API 中,所有的資源(例如用戶、文章、圖片)都通過 URL 來標識。每一個資源都可以通過唯一的 URL 來存取,例如 /users/1 代表用戶 ID 為 1 的用戶。
  2. 無狀態(Stateless):RESTful API 是無狀態的,這意味著每個請求都應該是獨立的,伺服器不會記住前一個請求的狀態。

    每次客戶端發出請求時,都需要包含所有必要的信息,這樣伺服器才能理解並處理該請求。
  3. 使用標準的 HTTP 方法:RESTful API 通常使用標準的 HTTP 方法來操作資源:
    • GET:用於獲取資源
    • POST:用於創建新資源
    • PUT:用於更新資源
    • DELETE:用於刪除資源
  1. JSON 作為數據格式:在大多數 RESTful API 中,數據是以 JSON 格式進行傳輸的。

    JSON(JavaScript Object Notation)是一種輕量級的數據交換格式,易於讀寫且與 JavaScript 兼容,非常適合 Web 應用。

RESTful API 的應用場景

RESTful API 被廣泛應用於各種 Web 和手機應用中,因為它的簡單性和結構化特點,使得它成為開發者的首選。

例如:

  • 社交網路應用:Facebook、Twitter 等社交平台通過 RESTful API 提供接口,讓開發者能夠創建應用程序與平台互動,讀取用戶的社交動態、發送消息等。
  • 電商網站:電商平台通過 RESTful API 提供商品、訂單和客戶信息的查詢和操作,讓第三方開發者能夠集成這些服務,構建新的購物體驗。
  • 天氣應用:天氣服務提供商通常會提供 RESTful API,允許開發者查詢特定地區的天氣數據,並將其顯示在他們的應用中。

一個簡單的範例

假設我們有一個提供圖書管理功能的 RESTful API,我們可以使用以下方式來操作書籍資料:

  • GET /books:獲取所有書籍的資料。
  • GET /books/1:獲取 ID 為 1 的書籍的資料。
  • POST /books:新增一本書(通常需要在請求體中提供書籍的詳細信息)。
  • PUT /books/1:更新 ID 為 1 的書籍的資料。
  • DELETE /books/1:刪除 ID 為 1 的書籍。

這些操作使用簡單的 HTTP 方法和清晰的 URL,讓 API 的使用者可以很容易地理解,該如何與伺服器進行互動。


小結

RESTful API 是一種基於 HTTP 協議的 API 設計風格,通過簡單的 URL 和 HTTP 方法來操作資源。

它讓應用程序之間的數據交換變得簡單且一致,是現代 Web 應用和手機應用中不可或缺的一部分。

對於新手來說,理解 RESTful API 可以幫助你,更好地理解後端和前端之間的交互方式,以及如何設計簡單且結構化的 API 來支持你的應用。

希望這篇文章能幫助你對 RESTful API 有一個初步的了解,並能夠在你的開發旅程中靈活運用它。