0

I want to apply middleware on create route of resource controller but confused how to set middleware. Normally we can add middleware like this

Route::get('api/users/{user}', function (App\Models\User $user) {
    return $user->email;
})->middleware('name');

but when we have a resource controller so how could I apply middleware on single route of resource controller.

Route::resource('front-pages','Admin\FrontPagesController');
4

3 回答 3

0

create a __construct() function

in FrontPagesController.php

public function __construct()
{
    $this->middleware('auth', ['except' => ['index','show']]);
}

ref link https://laravel.com/docs/8.x/controllers#controller-middleware


all the possible functions

/**
 * Instantiate a new controller instance.
 *
 * @return void
 */
public function __construct()
{
    $this->middleware('auth');

    $this->middleware('log')->only('index');

    $this->middleware('subscribed')->except('store');
}
于 2020-11-23T06:41:28.897 回答
0
Route::middleware('name')->resource('front-pages' , 'Admin\FrontPagesController');

refer laravel documentation :https://laravel.com/docs/8.x/middleware#introduction

于 2021-01-23T05:18:14.497 回答
-1

You can use

 Route::resource('front-pages','Admin\FrontPagesController')->only('fornt-page.whatever name');

And you can group it with middleware

于 2020-11-23T06:42:02.033 回答