iT邦幫忙

2025 iThome 鐵人賽

DAY 6
0

API

定義

API就是提供資料交換的橋樑,而透過資料的交換,讓使用者可以整合不同的功能,進而提高程式的效率。中文是"應用程式介面",它的重要性非常之高,是讓不同軟體達成更加多功能互動的最大功臣。

運作方式

正常來說分為兩個步驟,"請求"和"回應",請求是指定的命令,會包含 HTTP法,常見的像是資訊驗證、第三方驗證等,而回應則是回傳結果,回傳的基本上是 JSON格式法的資料,程式範例像:

{
  "id": 1735448,
  "password": 192837465,
  "name": "zen",
  "email": "zen0732@example.com"
}

應用

常常應用在社群媒體的登入,像是 google、line、facebook、instsgram等皆為 API的應用,在不同平台達成資訊交換驗證的功能,大幅提升了使用者的便利性,而且在登入時還不用重新輸入姓名、帳號REST( Representational State Transfer) 原則密碼等,省去了不少時間。

真要說的話,基本上整個網路世界都和 API密不可分,像是電子簽章、企業自動化流程、線上文件申請,全部都在 API的範疇之下。

API的原則

基本上,API 都遵循 REST規範,簡單介紹一下 REST就是前後端的分工絕對是分離而且清楚,並且交換時需要達成 UI介面和前後端資料的一致性,整體皆是分層的設計,故擴展性很高,簡單明瞭且彈性是它的優點。總結來說,API因為支援快取、介面一致性、無狀態的設計,所以效率非常高而便利。

設計

統一命名

API 設計能確保一致性與安全性,多數的設計是統一命名規範,例如:REST API (e.g., /users, /orders/{id})。

統一HTTP

再來是使用統一的 HTTP 方法:
GET:讀取資料
POST:新增
PUT/PATCH:更新
DELETE:刪除

簡單明瞭的介面

URL 盡量清晰直觀,不要太複雜,顯示必要的參數即可。

打包文件化

給予 OpenAPI 說明,且回應必須完整,使資訊無誤差、易瞭解。

相容性

在路徑或 Header 中標示版本:/api/v1/users,避免 API 更新導致相容性問題。

維修與除錯

使用標準 HTTP 狀態碼回傳結構化錯誤訊息,並指定 JSON 格式,以便進行修復。


對於 API 整體的管理,首先要控制好使用者的存取權限,還有"千萬"要記得,API 雖然效率之好,但還是要設定好速度的限制,以防伺服器有過載的問題。而安全性的掌握也要避免硬編成固定的 API key,多使用環境變數且走 HTTPS,加強防護。然後要開放給第三方使用的話,必須提供 SDK 或 Client Library,並考慮好速度的限制。總結來說,API 的使用彈性非常之大,故也要注意好各方面的問題,預防崩潰或是資料不對等,遵循一致性、安全性、便利性的原則,在完整的流程下提供最高效率的應用。


上一篇
七大要點之一-部署
下一篇
七大要點之一-資訊安全性
系列文
從基礎開始—web學習之路12
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言