yii2 resful的api搭建
1.其实很简单,复制一个frontend或者backend,将其重命名为api放在同级目录下
2.打开common/config/bootstrap.php,为我们的api添加别名
Yii::setAlias('@api', dirname(dirname(__DIR__)) . '/api');
3.给api目录配置一个访问地址:api.demo.com指向 api/web,不会的同学点这里
4.然后删除controller和views文件夹,然后将api文件中的frontend替换为api(比如命名空间)
5.通过gii生成module
6.同时在 api/config/main.php 中做如下配置:
修改controllerNamespace
'controllerNamespace' => 'api\controllers',
添加module的配置
'modules' => [ 'v1' => [ 'class' => 'api\modules\v1\Module', ], ],
开启urlManager,如下配置
'urlManager' => [ 'enablePrettyUrl' => true, 'enableStrictParsing' => true, 'showScriptName' => false, 'rules' => [ ['class' => 'yii\rest\UrlRule', 'controller' => ['v1/user']], ], ],
删除
'errorHandler' => [ 'errorAction' => 'site/error', ],
7.在modules/v1/controllers 创建UserController.php 代码如下
<?php namespace api\modules\v1\controllers; use yii\rest\ActiveController; /** * Default controller for the `v1` module */ class UserController extends ActiveController { public $modelClass = 'common\models\User'; }
如上所述,yii2 resful api就搭建完成了 访问以下http://api.demo.com/v1/users 就能返回user表中的数据了