Структура каталога следующая:
-api
–confing
–web
–modules
—v1
----controllers
----models
—Module.php
api/config/main-local.php:
Код: Выделить всё
/*..................*/
' urlManager' => [
'enablePrettyUrl' => true,
'enableStrictParsing' => true,
'showScriptName' => false,
'rules' => [
[
'class' => \yii\rest\UrlRule::class,
'controller' => ['v1/user'],
'prefix' => 'api',
'extraPatterns' => [
'GET /' => 'test',
],
],
],
],
/*..................*/
'modules' => [
'v1' => [
'basePath' => '@app/modules/v1',
'class' => api\modules\v1\Module::class,
]
],
Код: Выделить всё
namespace api\modules\v1;
class Module extends \yii\base\Module
{
/**
* {@inheritdoc}
*/
public $controllerNamespace = 'api\modules\v1\controllers';
/**
* {@inheritdoc}
*/
public function init()
{
parent::init();
// custom initialization code goes here
}
}
Код: Выделить всё
namespace api\modules\v1\controllers;
use yii\rest\ActiveController;
class UserController extends ActiveController
{
public $modelClass = ‘api\modules\v1\models\User’;
public function actionDefault()
{
echo 'tesssst';
}
public function actionTest()
{
return 'tesssst';
}
}
Есть Yii::setAlias(’@api’, dirname(dirname(DIR)) . ‘/api’); в common/config/bootstrap.php и parsers стоит ‘application/json’ => ‘yii\web\JsonParser’, в api/config/main-loacal.php
Пробовал писать путь localhost /api/web/v1/user/test, localhost/api/v1/user/test, localhost/api/web/v1/users, localhost/api/v1/users… Всегда ошибка 404.
Не пойму что ещё тут не так...