iT邦幫忙

2024 iThome 鐵人賽

DAY 2
0

API 在軟體開發中的角色
在軟體開發中,API扮演著關鍵角色。API 的主要功能是允許不同軟體系統之間進行互動和溝通。具體來說,API 在開發中的角色包括以下幾個方面:
https://ithelp.ithome.com.tw/upload/images/20240915/20153147eOfDxem2VT.png
讓我們以一個日常生活中常見的場景來解釋 API 的功能——使用手機應用進行網上購物

  1. 數據交換:它定義了如何請求和接收數據,無論是從伺服器請求資料庫中的數據,還是從外部服務(如第三方 API)獲取數據。

當你打開手機上的購物app並瀏覽商品時,應用程序會通過 API 向後端伺服器請求商品信息(例如價格、庫存、商品描述等)。伺服器從資料庫中檢索這些數據,並通過 API 將其傳回給手機應用,顯示在你的手機螢幕上。

  1. 模塊化設計:開發人員可以通過 API 把系統劃分為多個模塊,各模塊之間通過 API 進行通信。這使得系統的維護和升級更加容易,因為只需要更新某一模塊的功能,而不會影響整個系統。

購物app背後可能包含多個模塊,例如商品瀏覽模塊、訂單處理模塊、用戶帳戶模塊等。每個模塊都是獨立開發的,通過 API 進行通信。例如,當你下單時,訂單模塊會通過 API 與庫存模塊確認庫存,這樣可以簡化系統維護,當需要更新某個功能時,無需修改整個系統。

https://ithelp.ithome.com.tw/upload/images/20240915/20153147OtbINdhML4.png

  1. 功能擴展:使開發人員能夠集成外部服務和功能,而不需要重新開發這些功能。

在你結帳時,app可能會使用第三方支付服務,例如信用卡支付。購物app不需要自己開發這些支付功能,只需通過 API 調用第三方支付服務即可。這樣既節省了開發時間,又確保了支付的安全性和可靠性。

  1. 跨平台溝通:API 可以幫助不同平台的app進行通信。

無論你是在手機、平板電腦還是電腦上購物,這些平台都可以通過 API 與伺服器進行通信。你在手機上加入購物車的商品,稍後在電腦上登錄時也能看到,這是因為應用程序通過 API 與同一後端系統進行數據同步。

  1. 安全性:通過 API 設計,可以限制外部訪問系統的某些功能,保護內部數據不被洩露。

當你結帳或查看個人帳戶時,應用會通過 API 驗證你的身份。這可能使用 OAuth 或其他身份驗證機制來確保數據傳輸的安全,防止未經授權的用戶訪問你的敏感信息,如信用卡號或地址。

API 如何促進不同系統的整合
https://ithelp.ithome.com.tw/upload/images/20240915/20153147C1flyro7y9.png

API 通過標準化接口和抽象底層複雜性,簡化了系統間的溝通流程,提高了系統的互操作性和可維護性。此外,API 加速了開發流程,促進了系統的靈活整合與快速部署,同時也為整個生態系統的健康發展提供了基礎。這些特點使得 API 成為不同系統整合的關鍵工具,在現代軟體和技術發展中具有不可替代的價值。

下面以電子商務平台與支付服務的整合為例:

一個電子商務平台需要提供多種支付方式(如信用卡、PayPal、Google Pay 等)來滿足不同消費者的需求。電子商務平台本身並不需要自行開發所有支付功能,而是通過 API 與不同的第三方支付服務整合。
https://ithelp.ithome.com.tw/upload/images/20240915/20153147QYyI9d28LI.png

  1. 標準化接口,簡化溝通
    每個支付服務提供的 API 都遵循標準化的通信協議(如 REST API)和數據格式(如 JSON)。電子商務平台只需要按照支付服務的 API 文檔,發送標準的支付請求,無論是 PayPal 還是 Google Pay,平台都可以以相同的方式與這些支付系統溝通。

  2. 抽象底層複雜性
    電子商務平台無需了解每個支付系統的內部運作邏輯或安全協議如何實現。所有的這些複雜性都由支付服務的 API 封裝起來,平台只需要知道如何發送支付請求以及如何接收支付確認即可。

  3. 高系統互操作性
    通過這些標準化的支付 API,電子商務平台可以與各種支付系統互操作。消費者無論使用哪種支付方式,平台都能通過 API 進行處理,確保交易順利完成。

  4. 加速開發流程
    電子商務平台不必為每一種支付方式開發單獨的支付功能。通過調用已經存在的第三方支付 API,開發團隊能夠快速集成多種支付選項,大大縮短了開發時間,並且保持系統靈活易擴展。

  5. 促進生態系統發展
    通過開放支付 API,第三方支付服務提供商能夠與更多平台進行整合,為平台用戶提供更多選擇,同時擴大支付服務的市場份額。這種良性的系統整合和開放促進了整個生態系統的發展。


上一篇
DAY1. 什麼是API?
下一篇
DAY3.如何發送 API 請求?
系列文
API 101:從基礎認識到應用的全方位指南-Swagger/Postman30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言