Web 開發 API 樣式:實用概述
服務間 API 呼叫是 Web 開發的基礎。本指南透過實際範例探討了幾種常見的 API 架構風格。
REST(表達性狀態傳輸)是最受歡迎的 API 風格。 它的簡單性(發出 HTTP 請求來存取資源)使其適合初學者。
此範例示範使用 RESTful API 在瀏覽器中顯示 GitHub 表情符號:
對於伺服器到客戶端的訊息推送,WebSocket 是理想的選擇。 它們實現持久的雙向通訊。
此範例向 echo.websocket.org 發送一條訊息,該訊息會回顯:
GraphQL 類似於 REST,但提供響應資料結構的客戶端自訂。
此範例根據 Pokémon 的名稱檢索特定 Pokémon 資料(ID、身高、體重、基本幸福度和捕獲率)。 修改查詢以檢索其他欄位。
Webhooks 促進事件驅動的溝通。 當事件觸發時,Webhook 服務會向預先定義的 URL 傳送 HTTP POST 請求。 這通常用於 CI/CD 管道,甚至為 GitHub 機器人提供支援。
此範例使用 smee.io 進行 webhook 重定向。 雖然發送方和接收方在同一應用程式中進行演示,但在現實場景中,它們駐留在不同的伺服器上。 觸發端點向 smee.io 發送一則訊息,smee.io 將其轉送至接收端點。 您可以透過分叉沙箱來修改訊息。
API Style | Architecture Style | Data Format | Communication Workflow |
---|---|---|---|
RESTful | HTTP-based, standard HTTP methods | JSON, XML | Client requests; server responds. |
WebSockets | Bidirectional, persistent connection | Text, Binary | Client and server establish a persistent connection for real-time communication. |
GraphQL | Query language, client-defined response | JSON | Client sends a query; server returns the specified data. |
Webhook | Event-driven, server initiates request | JSON | Event triggers server to send an HTTP request to a client-defined URL. |
以上是Web 開發人員必須了解的 API 結構(附範例)的詳細內容。更多資訊請關注PHP中文網其他相關文章!