| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117 |
- <?php
- $params = array_merge (
- require(__DIR__ . '/../../../common/config/params.php'),
- require(__DIR__ . '/../../../common/config/params-local.php'),
- require(__DIR__ . '/params.php'),
- require(__DIR__ . '/params-local.php')
- );
- return [
- 'id' => 'app-api',
- 'basePath' => dirname(__DIR__),
- 'bootstrap' => [
- 'log',
- //全局内容协商
- [
- //ContentNegotiator 类可以分析request的header然后指派所需的响应格式给客户端,不需要我们人工指定
- 'class' => 'yii\filters\ContentNegotiator',
- 'formats' => [
- 'application/json' => yii\web\Response::FORMAT_JSON,
- 'application/xml' => yii\web\Response::FORMAT_XML,
- //api 端目前只需要json 和 xml
- //还可以增加 yii\web\Response 类内置的响应格式,或者自己增加响应格式
- ],
- ]
- ],
- 'defaultRoute' => 'main/index',//默认控制器
- 'controllerNamespace' => 'api\controllers',
- //新增中 -- shizhongqi
- 'modules' => [
- /*'v1' => [
- 'class' => '\modules\v1\Module',
- ],*/
- ],
- //
- 'components' => [
- 'jwt' => [
- 'class' => 'api\components\Jwt',
- ],
- 'user' => [
- 'identityClass' => 'common\models\xhAdmin',
- 'enableAutoLogin' => true,
- 'identityCookie' => [
- 'name' => 'backendUser', // unique for backend
- ],
- 'loginUrl' => ['main/login'],
- ],
- 'log' => [
- 'traceLevel' => YII_DEBUG ? 3 : 0,
- 'targets' => [
- [
- 'class' => 'yii\log\FileTarget',
- 'levels' => ['error', 'warning'],
- ],
- ],
- ],
- //新增,不理解有什么用处,后期了解下 -- shizhonqi
- 'response' => [
- 'class' => 'yii\web\Response',
- //设置 api 返回格式,错误码不在 header 里实现,而是放到 body里
- 'as resBeforeSend' => [
- 'class' => 'api\components\ResBeforeSendBehavior',
- 'defaultCode' => 500,
- 'defaultMsg' => 'error',
- ],
- //ps:components 中绑定事件,可以用两种方法
- //'on eventName' => $eventHandler,
- //'as behaviorName' => $behaviorConfig,
- //参考 http://www.yiiframework.com/doc-2.0/guide-concept-configurations.html#configuration-format
- ],
- /*'errorHandler' => [
- 'errorAction' => 'site/error',
- ],*/
- //变动 -- shizhonqi
- //TODO 路由规则验证中
- 'urlManager' => [
- 'enablePrettyUrl' => true,
- // 注意:如果不需要严格解析路由请直接删除或注释此行代码
- // 'enableStrictParsing' => true,
- // 是否在URL中显示入口脚本。是对美化功能的进一步补充。
- 'showScriptName' => false,
- //路由不正确也能正常运行 -- ???
- 'rules' => [
- '<controller:\w+>/<action:\w+>'=>'<controller>/<action>',
- [
- 'class' => 'yii\rest\UrlRule',
- 'controller' => 'user',
- 'pluralize' => false, //设置为false 就可以去掉复数形式了*/
- 'extraPatterns'=>[
- 'GET test'=>'test'
- ],
- ],
- //"GET user/create" => "user/create",
- //当然,如果自带的路由无法满足需求,可以自己增加规则
- 'GET <module:(v)\d+>/<controller:\w+>/search' => '<module>/<controller>/search',
- [
- 'class' => 'yii\rest\UrlRule',
- 'controller' => ['v1/user'],
- // 由于 resetful 风格规定 URL 保持格式一致并且始终使用复数形式
- // 所以如果你的 controller 是单数的名称比如 UserController
- // 设置 pluralize 为 true (默认为 true)的话,url 地址必须是 users 才可访问
- // 如果 pluralize 设置为 false, url 地址必须是 user 也可访问
- // 如果你的 controller 本身是复数名称 UsersController ,此参数没用,url 地址必须是 users
- 'pluralize' => false,
- ],
- ],
- ],
- ],
- 'params' => $params,
- ]
- ;
|