以生活中的例子學習 API |學習筆記

歐莉桔 Ollie
·
·
IPFS
·
Illustration Designed By 30000000674 From LovePik.com


前言

前陣子我朋友問了我一個問題,API 是什麼?

我想了一下,回答他:「可以簡單用一句話表示:前端與後端溝通的工具,使用 API 可以操作前端或後端的變化」

他似懂非懂的回應我:「喔喔~大概懂了」

我忍不住想,身為完全不懂 API 的人、學程式新手,甚至沒學過程式的人能不能聽懂我這樣的回答呢?

而我朋友是真的懂,還是不好意思說他不懂呢?

TMI:其實可以直接問那位朋友,但我只是心裡想想,然後跑來寫文章XDD


以搭捷運為例

現在時間早上 8:50,你走在陽光明媚的禮拜五上班路上


Photo by Giorgio Trovato on Unsplash

你做了一個行為:從包包裡找出悠遊卡

你的 API 可能長這樣:/api/包包/ ( GET -> 悠遊卡)


Photo by Adi Goldstein on Unsplash

你做了一個行為:逼卡進捷運站

你的 API 可能長這樣:/api/站內乘客名單/ ( POST -> 新增乘客 )


Photo by Kostiantyn Li on Unsplash

你做了一個行為:你朋友進站了,但出站的時候出不去,因為他進站時卡片並沒有刷成功(進站時,API 新增檔案失敗)

你的 API 可能長這樣:/api/找站務員/ ( PUT -> 更新乘客資訊)


Web API 與 HTTP

在 Web Application 的開發情境下的 API 被稱為 Web API,在 Web API 作用時,客戶端和伺服器端會透過 HTTP 通訊協定來進行請求與回應。

伺服器端會依照客戶端的請求內容,經過內部的處理程序後,將結果回應給客戶端

你有可能扮演客戶端的一方,也有可能是伺服器端(擁有資料庫,自製 API 供他人使用的工程師)


以小時候的你跟你媽為例

Overview of Web App — Rails Internals Series — I | Sasikala Ravichandran (sasi-kala.com)

你:「姊~你去幫我跟媽說要記得幫我簽聯絡簿」

你發出的 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

CC BY-NC-ND 2.0 授权

喜欢我的作品吗?别忘了给予支持与赞赏,让我知道在创作的路上有你陪伴,一起延续这份热忱!

歐莉桔 Ollie可以叫我歐莉或桔子~
  • 来自作者

Hello World