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。
1
2
3
4
5
6
7
8
9
| ○ 基於標準的HTTP方法
○ 每個資源(如使用者、商品)都有唯一的URL
○ 使用統一格式(通常為JSON)進行資料交換
○ 無狀態(Stateless)伺服器不會記住前一次請求的狀態
○ 支援快取(Caching),提升效能與可擴展性
|
1
2
3
4
5
6
7
| ○ GET:取得資料
○ POST:新增資料
○ PUT:修改資料
○ DELETE:刪除資料
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
| ○ 可擴展性:
△配合快取策略,可減少不必要的請求,利於系統橫向擴展
△減輕伺服器負擔,提升系統整體效能。
○ 靈活性:
△客戶端與伺服器相互獨立,並解耦各種伺服器元件。
△各層可獨立維護與升級,例如後端可以更換資料庫或框架而不影響前端。
△容易維護與更新,可快速演進系統功能。
○ 獨立性:
△可以使用各種程式設計語言來編寫用戶端和伺服器應用程式,不會影響API設計。
△可以在不影響通訊的情況下,變更任一端的基礎技術。
|