如何在这个前缀路由中调用中间件?

How Can i Call Middleware in this prefix Route?

您好,我是 laravel 框架的新手。谁能告诉我如何在以下路线中应用中间件?

Route::prefix('Admin')->group(function (){

    Route::get('/', 'UserlistController@index');

    Route::post('create', 'UserlistController@create')->name('create');

});

Route::group(['prefix'=>'admin','middleware'=>['auth']], function(){
    Route::post('favorite/{post}/add','FavoriteController@add')->name('post.favorite');
    Route::post('review/{id}/add','ReviewController@review')->name('review');
    Route::get('file-download/{id}', 'PostController@downloadproject')->name('project.download');
    Route::post('file-download/{id}', 'PostController@downloadproject');
});

群函数中有多种调用中间件

第一种方式:- 在组函数之后定义中间件。

Route::prefix('Admin')->group(function (){
    Route::get('/', 'UserlistController@index');
    Route::post('create', 'UserlistController@create')->name('create');
})->middleware('yourmiddlewarename');

第二种方式:- 用前缀定义中间件。

Route::middleware(['yourmiddlewarename'])->prefix('Admin')->group(function (){
    Route::get('/', 'UserlistController@index');
    Route::post('create', 'UserlistController@create')->name('create');
});

您应该使用 Laravel's Route::group() 方法对路由进行适当分组。

您可以按如下方式对路线进行分组:

Route::group(['as' => 'for_named_route','prefix' =>'for_prefixing','namespace' => 'for_namespacing', 'middleware' => 'for_middleware'],function(){
  // Your route will go here
);

出于编码目的,您的路由组应如下所示:

Route::group(['prefix'=>'for_prefixing','middleware'=>'for_middleware'],function(){
  // Your route will go here
  Route::get('/', 'UserlistController@index');

  Route::post('create', 'UserlistController@create')->name('create');
);

您还可以使用数组传递多个中间件,例如:

'middleware'=>['middleware_1','middleware_2']