以生活中的例子學習 API |學習筆記
前言
前陣子我朋友問了我一個問題,API 是什麼?
我想了一下,回答他:「可以簡單用一句話表示:前端與後端溝通的工具,使用 API 可以操作前端或後端的變化」
他似懂非懂的回應我:「喔喔~大概懂了」
我忍不住想,身為完全不懂 API 的人、學程式新手,甚至沒學過程式的人能不能聽懂我這樣的回答呢?
而我朋友是真的懂,還是不好意思說他不懂呢?
TMI:其實可以直接問那位朋友,但我只是心裡想想,然後跑來寫文章XDD
以搭捷運為例
現在時間早上 8:50,你走在陽光明媚的禮拜五上班路上
你做了一個行為:從包包裡找出悠遊卡
你的 API 可能長這樣:/api/包包/ ( GET -> 悠遊卡)
你做了一個行為:逼卡進捷運站
你的 API 可能長這樣:/api/站內乘客名單/ ( POST -> 新增乘客 )
你做了一個行為:你朋友進站了,但出站的時候出不去,因為他進站時卡片並沒有刷成功(進站時,API 新增檔案失敗)
你的 API 可能長這樣:/api/找站務員/ ( PUT -> 更新乘客資訊)
Web API 與 HTTP
在 Web Application 的開發情境下的 API 被稱為 Web API,在 Web API 作用時,客戶端和伺服器端會透過 HTTP 通訊協定來進行請求與回應。
伺服器端會依照客戶端的請求內容,經過內部的處理程序後,將結果回應給客戶端
你有可能扮演客戶端的一方,也有可能是伺服器端(擁有資料庫,自製 API 供他人使用的工程師)
以小時候的你跟你媽為例
你:「姊~你去幫我跟媽說要記得幫我簽聯絡簿」
你發出的 HTTP Request 可能長這樣:
GET /聯絡簿 HTTP/1.1 Host: 我 Accept: 媽媽的簽名/txt, */* Accept-Language: zh-tw User-Agent: 姊姊
你媽:「好,我簽好了」,把簽好的聯絡簿還給你姊
得到的 HTTP RESPONSE 可能長這樣:
HTTP/1.1 200 OK Date: Sun, 6 Mar 2022 08:56:53 GMT Server: 你媽 Last-Modified: Sat, 5 Mar 2022 07:16:26 GMT Content-Type: text/html
以上是我的 API 學習筆記
歡迎留言交流分享~ 也歡迎指教!
此文章同步發佈於 以生活中的例子學習 API |學習筆記 - Ollie - Medium