@Wiemdier_brenul

Как не использовать префикс и миддлвар в группе роутов?

У меня есть группа миддлваров, обернутая в:
Route::group(
    [
        'prefix' => '/{locale?}',
        'middleware' => 'default_locale',
    ],
    /* Маршруты, так же обернутые в свои префиксы, миддлвары, например*/
    Route::controller(WidgetController::class)->prefix('widget')->group(function () {
         Route::get('', 'index')->name('cabinet.widget');
         Route::post('result/{widgetTypeId}', 'resultIndex')->middleware('default_widget')->withoutMiddleware('auth')->name('cabinet.widget.result');
         Route::post('success/{widgetTypeId}', 'successIndex')->middleware('default_widget')->withoutMiddleware('auth')->name('cabinet.widget.success');
    });
});

Но внутри родительской группы роутов, мне не нужно использовать миддлвар и префикс для роута name('cabinet.widget.result') Я могу вынести его из родительского, но это решение странное, потому что в проекте есть более большие роуты, с большой вложенностью групп и мне придется дублировать эти группы.
Как можно исключить префикс, для определенного роута?
  • Вопрос задан
  • 48 просмотров
Решения вопроса 1
vfreelancer
@vfreelancer
php
можно создать свой класс NoPrefixRoute extends Route
и в нем переопределить метод prefix($prefix)
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@iljaGolubev
Перечитать доку excluding-middleware

а вот включать роут в группу с префиксом а потом ресолвить без префикса - действительно странное решение.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы