iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 6
0
自我挑戰組

Junior 後端工程師歷程系列 第 6

Day 06: Laravel 打造一組 API 系列 (2) - 最 Eazy 的 API 與路由檔內的 Magic

昨天我們的書店開張了,今天要來幫他打造一組 API 試試。
資料建置的部分已經完成囉~有興趣可以看 Laravel 打造一組 API 系列 (1) - API 簡介與環境建置

開始

  1. 建立 Controller
$ php artisan make:controller BookController
  1. routes\api.php 內新增路由

我們這次要使用的路由:

URI description HTTP Method
api/books 文章列表 GET
api/books/{id} 特定文章 GET
api/books 新增文章 POST
api/books/{id} 更新文章 PUT
api/books/{id} 刪除文章 DELETE

寫在路由定義檔大概長這樣:

Route::get('books', 'BookController@index');
Route::get('books/{id}', 'BookController@show');
Route::post('books', 'BookController@store');
Route::put('books/{id}', 'BookController@update');
Route::delete('books/{id}', 'BookController@destroy');

Tips: 定義好路由後我通常會 Run 一下 php artisan route:list 來確認路由是不是成功註冊。

[補充] 不知道大家有沒有發現我們的路由都很神奇的被加上 api 前綴,這是為什麼呢? /images/emoticon/emoticon19.gif

答案就在 RouteServiceProvider.php 內的 mapApiRoutes Function 嘿嘿

protected function mapApiRoutes()
{
    Route::prefix('api')
        ->middleware('api')
        ->namespace($this->namespace)
        ->group(base_path('routes/api.php'));
}

這邊幫 routes\api.php 內的路由都加上了 prefix 囉!想自己取名字的也可以將 prefix 內改掉試試!


OK!上面確認沒問題後就可以開始在 Controller 內撰寫對應的邏輯。

  1. 先來抓取文章列表吧,Code 很簡單直接在 Controller 的 index function 加入
public function index()
{
    return Book::all();
}
  1. 打開前後端工程師相依為命的 PostMan API 神器,試試剛剛的路由

讚讚,我們取得所有書店內的書籍囉~~

今天先到這邊~明天繼續來試試其他的路由吧! /images/emoticon/emoticon47.gif


上一篇
Day 05: Laravel 打造一組 API 系列 (1) - API 簡介與環境建置
下一篇
Day 07: Laravel 打造一組 API 系列 (3) - 第一次 POST 方法與 PUT方法嘗試!
系列文
Junior 後端工程師歷程10

1 則留言

0
ddr820525
iT邦新手 5 級 ‧ 2019-11-25 14:24:09

routes\api.php 內的路由都加上了 prefix 囉!想自己取名字的也可以將 prefix 內改掉試試

請問一下這個怎麼加

我要留言

立即登入留言