Как создать разные middleware для разных методов в Route::resource
Есть ресурсный контроллер и соответствующий роут:
Route::resource('/path', Controller::class)
для каждого метода этого контроллера мне нужно использовать разный middleware. Можно как то это сделать внутри файла роутов, а не в конструкторе?
Мне надо что-то типа:
Route::resource('/path', Controller::class)->middleware(['index' => 'guest', 'create' => 'auth'])
Ответы (1 шт):
Автор решения: InDevX
→ Ссылка
Способ довольно старый, но, если не ошибаюсь, ничего лучше до сих пор нет.
Route::resource('/path', Controller::class, ['only' => ['index']])
->middleware(['cors','auth']);
Route::resource('/path', Controller::class, ['except' => ['show']])
->middleware(['cors']);