Yii2 правила вложенного-отдыха не найдены - PullRequest
0 голосов
/ 23 ноября 2018

У меня проблема с пакетом tunecino\nestedrest\UrlRule.Я использую базовое приложение Yii2 и пытаюсь создать API в качестве модуля.

Мой текущий urlManager выглядит следующим образом:

'urlManager' => [
    'class' => 'yii\web\UrlManager',
    'rules' => require(__DIR__ . '/routes.php'),
    'enablePrettyUrl' => true,
    'baseUrl' => $baseUrl,
    'showScriptName' => false,
    'enableStrictParsing' => true,
],

и мои маршруты выглядят следующим образом:

 return [
        '' => '/',
        'v1' => 'v1/',

        [
            'class' => 'yii\rest\UrlRule',
            'controller' => ['v1/game','v1/server']
        ]
        [
            'class' => 'tunecino\nestedrest\UrlRule',
            'resourceName' => 'game',
            'modulePrefix' => 'v1',
            'modelClass' => 'app\modules\v1\models\Game',
            'relations' => ['servers']
        ],
        [
            'class' => 'tunecino\nestedrest\UrlRule',
            'resourceName' => 'server',
            'modulePrefix' => 'v1',
            'modelClass' => 'app\modules\v1\models\Server',
            'relations' => ['game']
        ],
    ]

: $baseUrl всегда содержит: $baseUrl = str_replace('/web', '', (new Request)->getBaseUrl());

API - это модуль v1 по пути serverlist-api/modules/v1.Есть все модели, контроллеры и т. Д.

Тем не менее, я всегда получаю 404 при доступе к веб-сайту, используя: http://localhost/serverlist-api/v1/servers/

Кто-нибудь знает, что может быть причиной проблемы?

// редактировать.Выяснилось, что расширение должно работать вместе с базовыми UrlRules, тем не менее, если я добавлю их, запрос все равно выдаст 404.

...