陳均昊 / API概述

Created Mon, 07 Jul 2025 13:45:55 +0800 Modified Thu, 14 Aug 2025 09:12:12 +0000
886 Words

API

以下為關於API的一些簡單整理:

1.關於API:

API(Application Programming Interface)API是一組定義好的規則,描述不同軟體系統之間如何互相溝通與互動。例如:

1
2
3
 向其他應用程式或伺服器請求資料

 呼叫特定功能讓應用程式執行某些操作

2.API 的類型:

1
2
3
4
5
 REST API:最流行的API類型基於HTTP協定使用URL表示資源並以JSON格式傳輸資料簡潔靈活易於整合與維護
 
 SOAP API:一種較早期的API規範基於XML格式傳輸資料具有嚴格結構與安全設計

 GraphQL:一種新興API技術由Facebook推出允許客戶端自定義所需的資料欄位並以一次請求取得多筆資料減少資料冗餘與請求次數

3.API 的作用:

1
2
3
4
5
 資料共享:讓不同系統之間同步資料例如手機App與伺服器之間的互動

 功能整合:將外部服務整合到自身應用中例如金流地圖ChatGPT等

 系統擴展:API使開發者能在不變動核心架構下為既有系統增加新功能

4.RESTful API:

REST(Representational State Transfer)是一種設計網路API的架構風格,符合它設計原則的API就稱為RESTful API。

  • RESTful API的特性:
1
2
3
4
5
6
7
8
9
 基於標準的HTTP方法

 每個資源(如使用者商品)都有唯一的URL

 使用統一格式(通常為JSON)進行資料交換

 無狀態(Stateless)伺服器不會記住前一次請求的狀態

 支援快取(Caching)提升效能與可擴展性
  • 常用HTTP方法對應操作:
1
2
3
4
5
6
7
○ GET:取得資料

○ POST:新增資料

○ PUT:修改資料

○ DELETE:刪除資料
  • RESTful API的三大核心優勢:
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
○ 可擴展性:

	△配合快取策略,可減少不必要的請求,利於系統橫向擴展

	△減輕伺服器負擔,提升系統整體效能。

○ 靈活性:

	△客戶端與伺服器相互獨立,並解耦各種伺服器元件。

	△各層可獨立維護與升級,例如後端可以更換資料庫或框架而不影響前端。

	△容易維護與更新,可快速演進系統功能。

○ 獨立性:

	△可以使用各種程式設計語言來編寫用戶端和伺服器應用程式,不會影響API設計。

	△可以在不影響通訊的情況下,變更任一端的基礎技術。