iT邦幫忙

2026 iThome 鐵人賽

0

一開始看到 API、Request、Response、JSON 這些名詞時,
對它們的實際關係並沒有很清楚。
原本只知道平常使用網站或 App 時可能會接觸到 API,但並不知道自己實際上可以怎麼使用 API。

這 30 天則從最基本的 Web API 概念開始,
一步一步實際操作公開 API,
最後也自己建立了三個簡單的 API 小工具。
透過這個過程,對 API 的理解也從單純的名詞,慢慢變成可以實際操作的東西。

⸻

一、第一週認識 Web API

第一週主要是建立 Web API 的基礎概念。

從「什麼是 Web API」開始,
接著認識 HTTP、Request、Response、GET、POST、URL、Endpoint 和 Parameter,
也進一步了解 JSON 和 HTTP Status Code。

剛開始學習時這些名詞看起來比較分散,
但實際操作 API 之後,
就開始發現它們其實都是同一個流程中的不同部分。

簡單來說就是:
使用 Endpoint → 加入 Parameter → 發送 Request → API 處理請求 → 回傳 Response → 取得 JSON 資料

後來實際操作書籍、節目和天氣 API 時,也一直重複看到這個流程。
因此第一週學到的內容,並不是只停留在概念,而是成為後面實際使用 API 時的基礎。

⸻

二、實際操作三種不同的 API

第二週開始,
這次學習不再只停留在 Web API 的基本介紹,而是實際使用三種不同類型的公開 API。

第一個是 Open Library 書籍 API。
透過搜尋不同的關鍵字,
例如 Harry Potter、Harry 和 Potter,
觀察不同搜尋條件所得到的書籍資料,也進一步分析 API 回傳的 JSON 結構。

第二個是 TVMaze 節目 API。
同樣透過不同關鍵字進行查詢,
觀察不同搜尋條件如何影響 API 回傳的結果,
並分析節目名稱、類型、語言、狀態等資料。

第三個則是 Open-Meteo 天氣 API。
這次的查詢方式和前兩個 API 不太一樣,
不是直接使用書名或節目名稱,
而是利用地點的緯度和經度取得天氣資料,再觀察溫度、濕度和風速等資訊。

透過這三種 API,
可以發現 API 的用途非常廣泛。
雖然它們提供的資料完全不同,但基本概念仍然是:
提供條件 → 發送 Request → 取得 Response → 從 JSON 中找到需要的資料

⸻

三、從閱讀 JSON 到真正使用資料

這次學習過程中,我覺得另一個很重要的部分就是 JSON。

一開始看到 API 回傳的 JSON 時,
常常會覺得資料很多而且全部擠在一起,
不太容易知道自己真正需要的是哪一個部分。

後來透過實際分析,
慢慢認識到 JSON 中可能會出現不同的資料型態,
例如 String、Number、Boolean、null、Array 和 Object。

也開始知道不能只看「資料有沒有回傳」,
而是要進一步了解資料的結構。

例如書籍 API 中可以看到 docs,
裡面放著一筆一筆的書籍資料;
天氣 API 中則可以看到 current,裡面放著目前的天氣資訊。

到了最後實作時,
也真正用程式從 JSON 裡面取得自己需要的資料。

這讓我發現API 的重點不只是「拿到資料」,
而是要能夠理解資料的結構,知道自己需要的是哪一部分。

⸻

四、三個 API 小實作

最後也實際完成了三個小型的 API 實作。

第一個是書籍搜尋工具。
使用 Open Library API,
讓使用者輸入書名或關鍵字,
再由 JavaScript 發送 Request,取得書籍資料後顯示在網頁上。

第二個是節目搜尋工具。
使用 TVMaze API,讓使用者輸入不同關鍵字,
例如 Harry Potter、Harry 和 Potter,查看不同搜尋條件所得到的節目結果。

第三個是天氣查詢工具。
使用 Open-Meteo API,
讓使用者選擇台北、台中或高雄,
再根據不同地點的座標取得目前的溫度、濕度和風速。

這三個實作雖然都只是簡單的小工具,
但對我來說比單純閱讀 API 文件更能理解前面學到的內容。

因為真正自己做過一次之後,才會發現:
HTML 負責建立畫面 → JavaScript 發送 Request → API 回傳 JSON → JavaScript 取得需要的資料 → 最後顯示在網頁上。

這也算是把前面 30 天學到的概念實際串在一起。

⸻

五、這 30 天最大的收穫

這次學習最大的收穫,
是原本比較陌生的 API 概念變成自己可以實際操作的東西。

以前看到 API 網址後面有一大串參數和 JSON 資料,
可能只會覺得內容很多,不太知道應該從哪裡開始看。

經過這次練習後,至少可以先從幾個方向開始觀察:
這個 API 的 Endpoint 是什麼?
Request 使用了哪些 Parameter?
API 回傳了什麼 Response?
JSON 裡面的資料是怎麼排列的?
自己真正需要的是哪一個欄位?

而在最後的實作中,
也進一步學到不一定要把 API 回傳的所有資料都顯示出來。
只要找到真正需要的資料,
就可以透過程式把它整理成使用者比較容易閱讀的形式。

⸻

六、總結

回頭看這 30 天的內容,可以大致分成三個階段。
第一階段是認識 Web API,建立 HTTP、Request、Response、Parameter 和 JSON 等基本概念。
第二階段是實際操作 API,分別使用書籍、節目和天氣 API,觀察不同 API 的資料和使用方式。
第三階段則是自己動手實作,將三種 API 分別做成簡單的書籍搜尋、節目搜尋和天氣查詢工具。

從一開始不知道 API 實際上怎麼運作,
到最後可以自己建立一個簡單的網頁,
讓它向公開 API 發送 Request 並取得資料,
這也是這次 30 天學習最大的不同。

雖然這次的實作還只是很基礎的功能,
也沒有做到大型網站或完整的系統,
但透過這 30 天的練習,
至少讓我不再只是看到「API」這個名詞,
而是能夠實際理解它的基本流程,
並嘗試把 API 提供的資料應用在自己的小作品中。
這也為這次 30 天的 Web API 學習畫下句點。


上一篇
Day 29|實作天氣 API:建立自己的天氣查詢工具
系列文
Web API:從零開始探索公開 API 與資料應用 共 30 篇
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言