Zobjoys Jeirmov
Zobjoys Jeirmov

Reputation: 221

How Can i Call Middleware in this prefix Route?

Hello I am new in laravel framework. can anyone tell me how to apply middleware in this following route?

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

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

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

});

Upvotes: 1

Views: 1039

Answers (3)

Md Azizur Rahman
Md Azizur Rahman

Reputation: 375

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');
});

Upvotes: 0

Rian Zaman
Rian Zaman

Reputation: 429

You should use Laravel's Route::group() method for proper grouping of routes.

You can group routes like the following:

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

For your coding purpose your route group should be like the following:

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');
);

You can also pass multiple middleware using an array like:

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

Upvotes: 0

Dilip Hirapara
Dilip Hirapara

Reputation: 15316

There are various to call middleware in the group function.

1st way:- Define middleware after group function.

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

2nd way:- to define middleware with a prefix.

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

Upvotes: 1

Related Questions