[API] #1 認識 API - antqtech/KM GitHub Wiki

本篇重點:

  • API 的概念

  • 認識 REST API

  • 請求方式

什麼是 API?

先看這部介紹的影片(看完後點上一頁回來)

IMAGE ALT TEXT

來源:什麼是 API?

API 的概念

API (Application Programming Interface) 是「應用程式介面」,定義多個軟體之間的互動及呼叫或請求。

簡單來說,API 就像傳遞要求的郵差,是串接兩端裝置或應用程式的橋樑。使用 API 能大幅減少開發成本,以AB兩端的資料拋接,一端提供資料輸入、另一端依據資料回傳結果,讓兩方技術人員「不必了解對方的技術與邏輯」,讓程式設計更便利。

API

認識 REST API

Representational State Transfer (REST) 是一種用於設計網路應用程式之間通信的架構風格。它是一種基於簡單的網路協議,通常使用 HTTP 協議,在客戶端和伺服器之間進行數據傳輸。

REST API(RESTful API)是基於 REST 架構風格設計的應用程式介面。它允許不同應用程式之間的通信和數據交換,無論這些應用程式是在同一個伺服器上還是分佈在不同的伺服器上。REST API 的基本思想是將伺服器上的資源(例如數據庫中的記錄或檔案)映射到唯一的 URL,並使用不同的 HTTP 方法(GET、POST、PUT、DELETE等)對這些資源進行操作。

REST API 的關鍵特點包括:

  1. 資源: 在 REST API 中,所有的數據和功能都被視為資源,每個資源都有一個唯一的 URL 來表示。

  2. 無狀態性: 這意味著每個請求都應該包含所有必要的信息,伺服器不應該保留客戶端的狀態。這有助於簡化伺服器的設計。

  3. 統一介面: REST API 使用統一的 HTTP 方法(GET、POST、PUT、DELETE 等)來執行操作,使通信過程更加直觀和一致。

  4. 可緩存性: 伺服器可以指定哪些請求或回應可以被緩存,以提高效率和性能。

  5. 客戶端-伺服器分離: 客戶端和伺服器可以獨立地發展和修改,只要遵循相同的介面協議。

REST API 通常返回數據格式,如 JSON 或 XML ,這些格式易於解析和處理。

請求方式

請求

請求方式是在使用 HTTP 協議時,客戶端(通常是瀏覽器、應用程式或其他服務)向伺服器發送請求時使用的不同方法。每種請求方式都對應著不同的操作,用於對伺服器上的資源進行不同的操作。較常用的是 GET 和 POST,以下是這些請求方式的詳細說明:

  1. GET: 用於從伺服器獲取資源的數據。GET 請求只是用於讀取資源,不會對伺服器端的資源進行修改。通常將查詢參數添加到 URL 中,以指定要檢索的資源。

  2. POST: 用於向伺服器提交數據,從而創建新的資源。POST 請求通常將數據作為請求主體傳送,並且在伺服器端創建相應的資源。

  3. PUT: 用於將數據更新到伺服器上現有的資源。PUT 請求需要指定要更新的資源位置,並在請求主體中提供新的數據。

  4. PATCH: 與 PUT 類似,用於部分更新伺服器上的現有資源。PATCH 請求只更新請求主體中提供的部分數據,而不是完全替換。

  5. DELETE: 用於從伺服器上刪除資源。DELETE 請求會指示伺服器刪除請求中指定的資源。

  6. HEAD: 與 GET 類似,但僅返回資源的標頭信息,而不返回實際數據。它通常用於獲取資源的元信息,例如檢查資源是否存在或最後修改時間。

  7. OPTIONS: 用於獲取有關伺服器支援的請求方式、標頭和其他選項的信息。它可以幫助客戶端了解伺服器支援哪些功能。