**一、前言
昨天第一次實際使用書籍API,
了解了如何透過GET Request向API提出請求,
再從回傳的JSON資料中找到書籍資訊。
今天要繼續使用書籍API,
不過這次會進一步嘗試「搜尋書籍」。
如果API可以提供大量的書籍資料,
那麼我們就需要告訴API「我想找哪一本書」,
這時候就會用到前幾天介紹過的參數。
⸻
**二、書籍API要怎麼搜尋?
以搜尋書籍為例我們可能會想找:
例如原本的API Request可能是:
GET /books
如果加入搜尋條件,就可能變成:
GET /books?title=Harry
這裡的title=Harry就是一個參數,
代表希望API找出與Harry相關的書籍。
實際使用時不同API的參數名稱會不一樣,
因此不能看到title就認為所有書籍API都使用這個名稱,
而是要先查看API的文件說明。
⸻
**三、實際搜尋一本書
接下來使用昨天的書籍API進行實作
Step 1:開啟書籍API
使用手機瀏覽器開啟昨天使用的書籍 API。
https://openlibrary.org/search.json?q=Harry+Potter&utm_source=chatgpt.com
進入API後,
找到可以取得書籍資料的GET Endpoint。
Step 2:輸入搜尋條件
在API提供的搜尋參數中輸入想搜尋的書名或關鍵字。
例如可以先搜尋自己熟悉的一本書
或輸入Harry Potter
送出Request後觀察API回傳的結果。
Step 3:查看JSON
API回傳資料後,
可以從JSON中找看看:
這裡可以截圖保留實際操作結果,
之後也可以用來比較不同搜尋條件的差異。
⸻
**四、改變關鍵字看看結果
接著可以再做一次測試。
例如之前第一次搜尋
Harry Potter
那這次第二次我們改成搜尋
The Little Prince
比較兩次 API 回傳的資料。
https://openlibrary.org/search.json?q=The+Little+Prince
可以觀察:
雖然搜尋的內容改變了,
但API回傳的資料格式通常仍會維持相同的結構。
這也可以讓我們更清楚看到「參數」的作用:
同一個API只要改變Request中的搜尋條件,
就可以取得不同的資料。
⸻
**五、實作結果
今天透過書籍API搜尋不同的書籍,
並比較修改搜尋關鍵字前後的回傳結果,
API並不是固定回傳某一筆資料,
而是可以根據Request中提供的搜尋條件,取得不同的結果。
知道了參數不只是URL裡面的一段文字,
而是可以用來告訴API「我想要什麼資料」的重要資訊。
⸻
**六、總結
今天進一步實際操作了書籍API,
學習如何利用搜尋參數取得指定的書籍資料。
透過改變搜尋關鍵字可以看到API回傳的資料也會跟著改變,
但JSON的基本資料結構仍然可以維持一致。
下一篇會繼續深入了解書籍API的搜尋參數,
看看不同參數可以如何影響搜尋結果。