Yii2使用modules模块开发Api接口的注意点

如题:Yii2中使用modules开发Api接口

一、新建modules目录

- components - config - controllers - mail - models - modules // 新增 - runtion - tests - traits - vargrant

二、在modules中新建模块目录

```
- modules
- vueadmin // 注意模板目录名称都小写
- controller
- SysDeptController.php
- models
- SysDept.php
- views // 可选,这是访问渲染页面文件,可以用Gii CRUD 生成,路径参考 @app/modules/vueadmin/views
- Module.php // 必要,模块入口文件,可使用Gii Module生成

// Module.php
<?php
namespace app\modules\vueadmin;

/**
* vueadmin module definition class
/
class Module extends \yii\base\Module
{
/
*
* {@inheritdoc}
*/
public $controllerNamespace = 'app\modules\vueadmin\controllers';

/**
* {@inheritdoc}
*/
public function init()
{
parent::init();

// custom initialization code goes here
}
}

```

三、重点,config/web.php中配置模块

// 每个新建的Modules都要在这里添加 'modules' => [ 'vueadmin' => [ // 确保路径无误 'class' => 'app\modules\vueadmin\Module', ] ], 'components' => [ ... ]

四、开启url美化,便于Api

'urlManager' => [ 'enablePrettyUrl' => true, 'showScriptName' => false, 'enableStrictParsing' => false, 'rules' => [ // ['class' => 'yii\rest\UrlRule', 'controller' => 'login'], // 方法一:针对特定域名的链接 http://youlocal.com/vueadmin/sys-menu/2/menu-ids ,get参数id '/vueadmin/sys-menu/<id:\d+>/menu-ids' => '/vueadmin/sys-menu/menu-ids/', // 方法二:针对特定域名的链接 // [ // 'pattern' => '/vueadmin/sys-menu/<id:\d+>/menu-ids', // 'route' => '/vueadmin/sys-menu/menu-ids', // 'defaults' => [ 'id' => 1 ], // 默认1 // ] ], ],

五、访问地址

// 主域名是自己本地配置的域名可以用phpStudy或者wampServer,配置相关hosts、httpd-vhosts
http://yourlocal.com/vueadmin/sys-dept/index // 访问后最终是modules/vueadmin/views/index.php文件

posted @ 2023-09-21 11:55  浪里小韭菜  阅读(164)  评论(0)    收藏  举报