一、從電影API學到了什麼?
這幾天使用的是 TVmaze 的電影 API,
實際透過 API 查詢節目的相關資料。
一開始先進行第一次查詢,
觀察 API 回傳了哪些資訊,
後來再使用不同的關鍵字進行搜尋。
例如搜尋:
Harry Potter
Harry
Potter
就可以看到不同搜尋條件所得到的結果。
接著再把三次搜尋結果放在一起比較,
可以發現不同的節目在名稱、分類、狀態和播放時間等資料上都不一樣。
除了比較資料內容之外,
也進一步分析了 API 回傳的 JSON。
從 JSON 的結構可以看到,最外層是 Array,
裡面放著一筆一筆的搜尋結果,
每筆結果又包含 score 和 show 等資料。
而 show 裡面還可以看到 name、genres、status、runtime、premiered、network 等不同欄位。
發現API 回傳的資料其實可以從「資料結構」和「資料內容」兩個方向去理解。
⸻
二、把前面的概念串起來
這幾天的電影 API 學習,
也剛好可以把前面學過的 Web API 基礎概念再次串在一起。
從使用 Endpoint 送出 Request,
到 API 根據搜尋條件回傳 Response,
再到閱讀 Response 裡面的 JSON 資料,
前面學到的概念都有實際出現在這次的操作中。
整個過程可以簡單整理成:
使用 Endpoint
→ 加入搜尋 Parameter
→ 送出 GET Request
→ API 回傳 Response
→ 取得 JSON 資料
→ 分析搜尋結果
→ 找出需要的資料
例如當我們搜尋 Harry Potter 時,
API 會根據搜尋條件回傳相關結果。
如果把搜尋內容改成 Harry 或 Potter,Response 也會跟著改變。
這讓我更清楚看到前面學到的 Request 和 Response 並不是只有課本上的概念,
而是真的會出現在 API 的實際操作中。
⸻
三、學習心得
我覺得電影 API 和前一階段的書籍 API 有一個很相似的地方,就是都可以很直接看到「輸入條件」和「回傳結果」之間的關係。
只要修改搜尋的關鍵字,
API 回傳的資料就可能跟著改變。
不過這次的電影 API 也讓我更熟悉 JSON 的巢狀結構。
一開始看到一大串 Response 時,
可能只會注意到節目的名稱,
但仔細看之後會發現同一筆資料裡面還有分類、狀態、播放時間、播出電視台等資訊。
而且這些資料並不是全部放在同一層,
有些欄位裡面還會再包含 Array 或 Object。
這讓我發現學習 API 不只是要知道「怎麼查資料」,
也需要知道「怎麼閱讀查回來的資料」。
⸻
**四、總結*ㄛㄛ
這一階段主要透過 TVmaze 電影 API,
實際了解了另一種公開 API 的使用方式。
從第一次查詢電影資料,
到使用不同關鍵字搜尋,
再到比較搜尋結果,
最後分析 JSON 的結構和欄位,
算是再次完整地走過「送出 Request → 取得 Response → 閱讀資料」的流程。
和前一階段的書籍 API 比較之後,
也可以發現不同 API 雖然提供的資料內容不同,
但基本的使用方式其實很相似。
接下來會進入下一個 API——天氣 API。
繼續看看 API 可以提供哪些資訊,
以及如何透過不同條件取得想要的資料。