在開始這次30天的Web API學習之前,我們其實對API這個名詞並不陌生,平常使用網站或手機App時,常常會看到API、Web API、API Key等相關名詞,但如果真的要問API到底是什麼?或是API實際上是怎麼運作的?,可能就沒有辦法很清楚的說明。
在這30天裡我想從最基礎的Web API開始,一步一步了解API的運作方式,並透過實際操作不同類型的公開API,觀察API如何取得或傳遞資料。
這次預計會使用三種不同類型的API作為後續實作案例,分別是書籍、電影與天氣。在正式進入這些 API之前,今天先從最基本的問題開始:
API到底是什麼?
⸻
一、API是什麼?
API是Application Programming Interface 的縮寫,中文通常翻譯為「應用程式介面」。
簡單來說,API可以想像成不同軟體之間溝通的「橋樑」。
例如我們使用天氣App時,App本身可能並沒有自己觀測天氣,而是向某個提供天氣資料的服務提出請求,再把取得的資料顯示給使用者。
可以簡化成:
使用者→天氣App→API→天氣資料服務→API回傳資料→天氣App顯示結果
使用者不需要直接接觸後面的資料庫或伺服器,只需要透過App就可以看到天氣資訊。
API在這裡就扮演了「傳遞資料」的角色。
⸻
二、為什麼需要 API?
如果沒有API,不同系統之間要互相取得資料就會變得非常麻煩。
例如今天想製作一個天氣App。
我們需要知道:
可以取得書籍的書籍API相關資料,例如:
可以取得電影相關資訊的電影API,例如:
可以取得不同地點的天氣資料的天氣API,例如:
從這些例子可以發現,雖然資料內容完全不同,但背後都可以使用API讓應用程式取得資料。
⸻
六、總結
今天主要認識了Web API的基本概念。
我了解到API可以作為不同應用程式之間溝通的介面,讓一個系統可以向另一個系統取得資料,而不需要直接處理對方內部的資料庫。
不過今天只是先建立基本概念,還沒有深入探討API到底是如何提出請求,以及伺服器又是如何回應的。
因此下一篇會繼續介紹:
HTTP、Request與Response到底是什麼?
這也是理解Web API運作方式非常重要的基礎。