Отключить префикс маршрута только для одного маршрута - PullRequest
0 голосов
/ 25 мая 2020

С Symfony 5 я использую префикс (fr, en, es) для своих маршрутов:

/routes/annotations.yaml:

controllers:
    resource: ../../src/Controller/
    type: annotation
    prefix: /{_locale}
    requirements:
        _locale: '%app_locales%'
    defaults:
        _locale: '%locale%'

Но я хочу отключить префикс только для одного маршрута .

В /routes/annotations.yaml перед предыдущим кодом , я поставил это без префиксного ключа:

video_play:
    resource: ../../src/Controller/VideoPlayController.php
    type: annotation

Но мой маршрут по-прежнему недоступен без префикса (404), мне нужно ввести (fr, en, es) в свой браузер.

Это в моем контроллере :

class VideoPlayController extends BaseController
{
    /**
     * @Route(
     *     "/video-play/{_token}",
     *     name="video_play",
     *     methods="GET"
     * )
     * @Entity("userMedia", expr="repository.findOneByToken(_token)")
     */
    public function videoPlay(
        UserMedia $userMedia
    ): Response {
        ...

1 Ответ

0 голосов
/ 10 июня 2020

Как сказано в @msg, маршруты переопределяются в зависимости от их порядка.

Попробуйте переместить конфигурацию video_play после

controllers:
    resource: ../../src/Controller/
    type: annotation
    prefix: /{_locale}
    requirements:
        _locale: '%app_locales%'
    defaults:
        _locale: '%locale%'

video_play:
    resource: ../../src/Controller/VideoPlayController.php
    type: annotation
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...