使用Artisan顯示目前路由狀態
首先,先來說說怎麼看目前路由狀態。透過artisan route:list列出目前路由狀態:
+--------+----------------------------------------+--------------+------+---------+--------------+
| Domain | Method | URI | Name | Action | Middleware |
+--------+----------------------------------------+--------------+------+---------+--------------+
| | GET|HEAD | / | | Closure | web |
| | GET|HEAD | api/user | | Closure | api,auth:api |
| | GET|HEAD | hello | | Closure | web |
| | GET|HEAD|POST|PUT|PATCH|DELETE|OPTIONS | hello-world | | Closure | web |
| | GET|HEAD | hello/{name} | | Closure | web |
+--------+----------------------------------------+--------------+------+---------+--------------+
首先要注意到的是Method和URI,這也是在定義路由最基礎的部份,URL在路由定義時就稱作PATH。我們還可以將路由命名(Name);至於Action與以後會提到的控制器(Controller)有關,這裡顯示Closure表示路由由handler function處理請求;最後Middleware預計本系列文章不會提到,又興趣可以去看官方文件。
api/user定義在routes/api.php中。
基礎路由方法
基本路由方法有:
Route::get($uri, $callback);
Route::post($uri, $callback);
Route::put($uri, $callback);
Route::patch($uri, $callback);
Route::delete($uri, $callback);
Route::options($uri, $callback);
基本上就對應了REST的GET、POST、PUT、PATCH、DELETE、OPTIONS的請求方法。此外還可以透過Route::any($uri, $callback);來直接處理請求,而不管請求方法;或是使用Route::match([$method,...], $uri, $callback);來處理特定請求方法。
※ 請求方法 是HTTP請求裡頭的一個欄位:METHOD。