iT邦幫忙

2026 iThome 鐵人賽

DAY 10
0

**一、前言

昨天實際使用書籍 API 搜尋了不同的書籍,
也發現只要改變搜尋條件,
API 回傳的結果就會跟著改變。

那麼問題來了
API到底是怎麼知道我們想搜尋什麼的?
答案就是透過「參數」

Day4介紹過URL、Endpoint和Parameters,
今天就把這些概念放回書籍API中,
實際觀察搜尋參數的作用。

⸻

**二、 什麼是搜尋參數?

搜尋參數可以想像成我們提供給 API 的「搜尋條件」。
例如:
?q=Harry+Potter
其中
q是參數名稱
Harry+Potter是我們輸入的搜尋內容
API收到這個Request後,
就會根據這個條件搜尋相關資料再將結果回傳。

所以URL可以簡單看成:
API Endpoint + 搜尋參數 → API Server → 搜尋結果
這和我們平常使用網站搜尋東西其實很像。

在搜尋引擎輸入「Harry Potter」,
網站就會根據這個條件找到相關結果,
API的概念也類似,
只是最後回傳的通常不是一個完整的網頁,
而是結構化的資料。

⸻

**三、 比較用不同關鍵字搜尋

接下來測試幾個不同的關鍵字,
例如
Harry:
https://openlibrary.org/search.json?q=Harry&utm_source=chatgpt.com
https://ithelp.ithome.com.tw/upload/images/20260924/201789016KlJ0kp2nB.jpg

Harry Potter:
https://openlibrary.org/search.json?q=Harry+Potter&utm_source=chatgpt.com
https://ithelp.ithome.com.tw/upload/images/20260924/20178901zHiIWgThfV.jpg

Potter:
https://openlibrary.org/search.json?q=Potter&utm_source=chatgpt.com
https://ithelp.ithome.com.tw/upload/images/20260924/20178901qpJ9gU4VPj.jpg

可以比較這三次搜尋的結果

雖然都是在搜尋 Harry Potter 相關內容,
但因為輸入的條件不同API找到的資料也可能不同。

可以觀察到
只搜尋Harry的話搜尋到的書籍數量最多
但作者和出版時間都是一樣的
JSON的整體結構也大致相同

⸻

**五、 參數的重要性

如果 API 沒有搜尋參數,
我們可能只能取得 API 預設提供的資料。
加入參數之後就可以告訴 API:
「我現在想找的是這個。」
例如書籍 API 可以透過搜尋條件找到不同的書籍,
而其他類型的 API 也可以使用參數進行不同的查詢。
像是電影 API 可以搜尋電影名稱,天氣 API 可以指定地點。

參數其實是 API 非常重要的一部分。
同一個 Endpoint,
只要提供不同的參數就可能得到完全不同的資料。

⸻

**六、 實作結果

今天透過修改書籍 API 中的搜尋參數,
測試不同關鍵字所得到的結果。
從實際操作可以發現,
Request 中的參數會影響 API 最後回傳的資料。
也讓我更清楚理解之前學到的:
URL → Endpoint → Parameters → Request → Response → JSON
這不再只是概念,而是可以直接透過 API 操作觀察到的結果。

⸻

**七、 總結

今天主要學習了書籍 API 中搜尋參數的作用。
透過修改搜尋關鍵字,
可以讓同一個 API 查詢不同的書籍資料,
也可以比較不同參數所造成的結果差異。

這也讓我了解到,
使用 API 時不只是「把網址打開」而已,
更重要的是要知道如何透過參數告訴 API 自己需要什麼資料。

下一篇會進一步觀察書籍 API 回傳的 JSON 資料內容,看看一筆書籍資料裡到底包含哪些資訊。


上一篇
Day 9|使用書籍 API 搜尋指定書籍
下一篇
Day 11|深入分析書籍API的JSON結構
系列文
Web API:從零開始探索公開 API 與資料應用 共 17 篇
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言