У меня проблема с пакетом 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.