深入解析 API 類型與架構 API 的多元世界
API 交易流程概念圖
API,全名為應用程式介面 (Application Program Interface),就像是一個橋樑,連接不同的系統、應用程式或服務,讓它們能夠互相溝通並共享資訊。API 可以根據其受眾和使用的協議來進行分類,每種類型的 API 都有其特定的用途和應用場景。
按受眾分類的 API 類型
按照受眾的不同 API 可以分為數種類型, 例如 Public API、Internal API 和 Partner API。
Public API
也被稱為公共 API,這種 API 對開發人 員和其他使用者皆公開可使用,限制最少,他們可能需要註冊來取得 API Key 或 OAuth 等認證,甚至有些不需要任何認證就可以直接使用。就像是公共圖書館, 只要註冊會員後就可以進去借書。而在生活中,我們常常會看到一些網站提供的天 氣預報或地圖服務,這些都是利用 Public API 來實現的。
Internal API
這種 API 只對組織內的開發人員開放,用於存取公司的後端資訊和應用程式功能。 例如公司內部的文件,只有公司的員工才能查看。比方說一家公司可能會開發一個 Internal API來連接他們的資料庫和網站, 以便在官方網站上顯示最新的產品資訊。
Partner API
這種 API 不對外公開,且需要特定的權限或許可才能存取,或是只對特定的合作夥伴開放。醫療合作夥伴 API Fast Healthcare Interoperability Resources(FHIR® ) API 是 Partner API 的一個很好的例子,FHIR® 是一種用於電子交換醫療訊息的現代標準,一家美國健康保險公司通過一個開放的Portal網站發布FHIR® API。開發人員可以使用自助服務來自動註冊用戶帳號和醫療應用程式,使公司能夠提供對會員資料的安全訪問,而不增加其 IT 團隊的工作負擔。
API 使用者類型與訪問權限概覽
按不同協議分類的 API
按照使用的協議,API 也可以分為 Restful API、SOAP API 和 GraphQL API 等數種不同類型。
Restful API
Restful API 使用 HTTP 協議, 並遵循 REST 架構風格,被廣泛用於現代的 Web 應用程式和手機 APP。比方說有一間自助餐廳,你可以自由選擇你想要的食物,並且知道如何去取得它。
SOAP API
這種 API 使 用 HTTP、SMTP、TCP 或 UDP 協議,它是一種基於 XML 的消息傳遞協議。這比較像是一個傳統的餐廳,你需要點菜單上既有的菜品,然後等待服務員把食物送來。SOAP API 通常用於企業級的應用,因為它提供了一種強大而靈活的方式來交換結構化和類型化的資料。
GraphQL API
此類型的 API 使用 HTTP 協議,是一種資料查詢和修改語言,它允許客戶端指定他們需要的確切數據,避免了過度或欠取的問題,讓客戶端可以使用更直覺且彈性的語法來取得或修改資料。就像是一個定制的餐廳,你可以告訴廚師你想要什麼,他們會按照你的要求來做。
按協議分類的各種 API 風格
API 的開發測試與管理
在這個數據化的時代,API 測試工具和 API 管理工具扮演著重要的角色,幫助開發人員確保 API 的功能、效能、可靠性和安全性以及生命週期等管理議題。 而 API 串接則是實現軟體間交流的關鍵步驟,讓不同的應用程式能夠共享資訊和功能。
在開發這些 API 的過程中, 我們可能會使用一些 API 測試工具, 例如 Postman,來測試和調用 API。考慮到 API 生命週期的部分,也會使用一些 API 管理工具,如 Axway APIM 來達到統一 管理、註冊上架、發布授權、認證審核以及交易日誌查詢等等議題。面對各種類型的 API,我們也可能需要進行 API 串接,將許多 API 與其他系統或服務連接起來,以實現更複雜的功能。
API 與人之間的聯繫
API 對我們的生活有著深遠的影響。首先,API 讓我們的生活變得更加便利,當我們使用手機應用程式查詢天氣預報或者地圖導航時,這些應用程式就是通過 API 來獲取相關的數據。其次,API 也讓我們 的生活變得更加豐富多彩。
例如社群媒體應用程式可以通過 API 來分享我們的照片和動態,讓我們可以隨時隨地與朋友和家人保持聯繫。此外,API 還在商業和科技創新中發揮著重要的作用。 許多創新的科技產品和服務,如智能家居、雲端運算、大數據分析等,都離不開 API 的支持。
統整來說,API 就像是現代數位生活的血脈,連接著各種應用程式和服務,讓我們的生活變得更加智能和便利。