iT邦幫忙

第 11 屆 iT 邦幫忙鐵人賽

DAY 9
2
Modern Web

使用 Laravel 打造 RESTful API系列 第 9

查詢動物

使用Laravel 8 PHP主流框架打造RESTful API(iT邦幫忙鐵人賽系列書)ISBN:9789864345304

本系列文章已集結成冊與鐵人賽文章差異內容,有以下幾點:

更新至Laravel 8、基礎的PHP重點筆記、加強製作API流程細節、加入程式設計模式,優化、重構程式碼的部分,並且於書籍前面的章節介紹Git。

讓您從製作第一個簡單的API到優化自己的程式碼,分享我的經驗給您,打造自己的最強大腦API,若有興趣的朋友可以參考看看

天瓏網路書局:
https://www.tenlong.com.tw/products/9789864345304


此篇文章同步發表於個人部落格


原本我覺得查詢功能是一個最簡單製作的API,把所有的資料都讀出來給請求的使用者就好!但後來發現不是那麼容易~

查詢動物的動作有兩種

HTTP 動詞 URL 說明 Controller
GET /api/animal/1 查詢動物 ID 1 的資料 show
GET /api/animal 查詢系統目前的動物列表 index

查詢單一資源資料

單一資源比較簡單就把 animal 物件,查詢出來給使用者就可以了!
最多做一個Resource 來轉換一下要輸出的內容!(Resource這部分有點離題了!日後會有一篇寫 Resource 轉換回傳的JSON資料結構,先設計完成查詢API再說)

GET api/animal/2  

AnimalController

public function show(Animal $animal)
{
    return response($animal, Response::HTTP_OK);
}

show 傳入的物件 Laravel 會自動利用 Model 設定的主鍵去找出資料(主鍵預設id),以上面的請求來說,他會去尋找ID:2的資料,找到物件就可以做需要的商業邏輯,上面show的方法是看單一動物的資料,所以我目前就直接把找到的資料傳出來,就是這麼簡單!

查詢動物清單

接下來製作查詢動物清單的部分 

AnimalController

public function index()
{
    $animals = Animal::get();
    return response(['animals' => $animals], Response::HTTP_OK);
}

先做一個簡單的方法,就是把動物全部讀出來就好!

這部份可能要看你的資料的狀況,例如商品的列表,商品一定非常非常多,所以一定要做個篩選以及分頁

如果像是顯示類別(貓、狗...),我自己是直接把它全部讀取出來,因為數量少,也不會去做篩選的動作。

明天先來為我們的查詢API設定分頁功能。


上一篇
更新動物資料
下一篇
動物列表查詢及分頁
系列文
使用 Laravel 打造 RESTful API30

尚未有邦友留言

立即登入留言