新增的 resource 方法將聽從 RESTful 架構爲用戶資源生成路由。該方法接收兩個參數,第一個參數爲資源名稱,第二個參數爲控制器名稱。php
Route::resource('users', 'UsersController');
上面代碼將等同於:html
Route::get('/users', 'UsersController@index')->name('users.index');api
Route::get('/users/{user}', 'UsersController@show')->name('users.show');數組
Route::get('/users/create', 'UsersController@create')->name('users.create');架構
Route::post('/users', 'UsersController@store')->name('users.store');post
Route::get('/users/{user}/edit', 'UsersController@edit')->name('users.edit');命令行
Route::patch('/users/{user}', 'UsersController@update')->name('users.update');設計
Route::delete('/users/{user}', 'UsersController@destroy')->name('users.destroy');code
能夠看到使用 resource 方法讓咱們少寫了不少代碼,且嚴格按照了 RESTful 架構對路由進行設計。htm
rosource 方法能夠取設置name
和only
參數只須要衍射的方法
以下面的:
Route::resource('users','UsersController',[ 'only' => ['index','show','update'], 'as' => 'admin', //'name' => 'admin.posts' ]);
參數說明:
names
是覆蓋原先默認的name
部分Route::resource('users','UsersController',[ 'names' => [ 'index' => 'users' ], ]);
as
參數,值是路由名稱的前綴,加一個指定的前綴給當前的全部路由名稱前面Route::resource('users','UsersController',[ 'as' => 'admin', ]);
only
參數,值是 resources控制器 的 方法名, index
,show
,update
,store
,destroy
組成的數組,即只能訪問 指定的方法Route::resource('users','UsersController',[ 'only' => ['index','show'], ]);
如上面的,users的路由列表只有 index
和show
上面的三個參數,是我目前直到的參數
能夠命令行,在項目的根目錄下運行 php artisan route:list
命令,輸出路由列表
若是當前Laravel項目使用了 dingo api
類庫,列出全部的api路由的命令時 php artisan api:route