api的組成部分是什麼

APIGit

2023-04-19

card-Components-of-an-API

API 的組成部分是什麼?

API 是一組基於代碼的指令,使軟件組件能夠通信和傳輸數據,它們是所有現代應用程序的構建塊。但是 API 本身的構建塊是什麼?在本文中,我們將通過端到端的請求來回顧 REST API 的不同組件。

API客戶端

API 請求可以通過許多不同的方式觸發。例如,用戶可能會通過輸入搜索詞、單擊按鈕或滾動瀏覽 Web 或移動應用程序上的列表來發起 API 請求。也可以發出 API 請求以響應外部事件,例如來自另一個應用程序或服務的通知。無論API請求是如何觸發的,都會有一個API客戶端負責組裝並指向API服務器。

重要的是要注意,短語“API 客戶端”根據上下文可能有不同的含義。首先,它可以指一種開發工具,它抽像出一些手動發送 API 請求的複雜性,這使得探索、測試和調試 API 變得更加容易。它還可以指使用特定語言的庫和 SDK 在較大應用程序的上下文中發起 API 請求的服務。這兩類 API 客戶端都負責處理 API 返回的數據並將其呈現給用戶,但後一類客戶端也可能在應用程序的邏輯流中使用返回的數據。

API請求

我們提到 API 客戶端負責發送 API 請求以響應用戶操作或外部事件,但究竟什麼是 API 請求?根據 API 的類型,API 請求的外觀和行為會有所不同。也就是說,對 REST API 的 API 請求由以下組件組成:

  • 端點: 每個 API 請求都指向一個 API 端點,這是一個提供對特定資源的訪問的專用 URL。例如,電子商務應用程序中的 /products 端點將包含用於處理與產品相關的所有請求的邏輯。因此,請求必須指定一個端點,以便 API 服務器知道如何繼續。我們將很快更詳細地討論 API 服務器。
  • 方法:每個 API 請求都必須包含一個方法,該方法定義了客戶端要對指定資源執行的操作。 REST API 可通過標準 HTTP 方法訪問,例如 GET、POST、PUT、PATCH 和 DELETE,這些方法有助於執行檢索、創建、更新或刪除數據等常見操作。對 /products 端點的 GET 請求將告訴 API 服務器返回數據庫中的每個產品。
  • 參數:參數是傳遞給 API 端點的變量,為 API 處理提供特定指令。這些參數可以作為 URL、查詢字符串或請求正文的一部分包含在 API 請求中。例如,電子商務 API 的 /products 端點可能接受“顏色”參數,它將用於訪問和返回特定顏色的產品。
  • 請求標頭:API 請求標頭是提供有關請求的附加信息的鍵值對。例如,Content-Type 標頭指定請求正文中的數據格式,而 Authorization 標頭提供身份驗證憑據,例如 API 密鑰或 OAuth 令牌,以對請求者進行身份驗證。
  • 請求正文: 請求主體包括創建、更新或刪除資源所需的實際數據。例如,如果電子商務商店的管理員需要創建新產品,請求正文可能包括產品名稱、品牌和價格。 API 規範將規定請求所需的數據格式,例如 JSON 或 XML。

接口服務器

API 客戶端組裝請求後,會將其發送到 API 服務器上的適當端點進行處理。 API 服務器負責處理身份驗證、驗證輸入數據、從數據庫中檢索或操作數據,並將適當的響應返回給客戶端。

重要的是要注意,雖然數據庫本身不是 API 組件,但沒有它 API 就無法運行。 API 服務器根據請求檢索和操作應用程序數據,而數據庫以促進高效檢索和操作的方式存儲和組織這些數據。因此,API 服務器充當 API 客戶端和數據庫之間的中介。

API響應

上面我們提到,API server 負責在處理完請求後向客戶端發送響應。 API 響應的內容可能因請求類型和 API 設計的不同而有很大差異,但它們通常包括以下組件:

  • 狀態碼: API 狀態代碼是由 API 返回的 HTTP 狀態代碼,用於指示客戶端請求的狀態。這些代碼用於向客戶提供有關請求結果的信息,並幫助客戶了解如何進行。一些最常見的狀態碼包括200 OK,表示服務器成功返回了請求的數據,201 Created,表示服務器成功創建了一個新資源,404 Not Found,表示服務器找不到請求的數據資源。
  • 響應標頭: 響應標頭與請求標頭非常相似,只是它們用於提供有關服務器響應的附加信息。例如,Cache-Control 標頭提供有關數據可以在緩存中存儲多長時間的說明,而 Set-Cookie 標頭在瀏覽器中設置一個 cookie,可用於會話管理或身份驗證。
  • 響應體: 響應體包含 API 服務器響應客戶端請求而返回的數據或內容。響應主體千差萬別,但它們通常包括結構化數據對象,這些對象代表所請求的資源、元數據,以及(如果請求失敗)有關出錯原因的錯誤消息。例如,針對特定產品的成功 GET 請求可能包括該產品的 JSON 表示,以及時間戳和數據源。

雖然 REST 是最常見的 API 架構,但其他類型的 API(例如 GraphQL 和 gRPC)將具有不同的組件。然而,此列表包括執行對每個 RESTful API 的請求所涉及的核心組件。

今天,數以萬計的開發人員使用 Apitgit 平台。 Apitgit 簡化了 API 生命週期的每個步驟並簡化了協作,因此您可以更快地創建更好的 API。