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

查詢動物的動作有兩種

HTTP 動詞 URI 說明 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設定分頁功能。

Victor
Victor

哈囉!

文章: 221

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *