1.使用environments来管理不同的环境配置
- 后端api接口使用模块(Module)来处理v1,v2等不同版本
配置 yii2 的模块功能 ,把不同版本作为一个模块,v0作为版本号,接口开发上线后,是不能做修改的,只能做升级,为了保证同样的接口命名,只是版本不同,就可以利用 版本号来区分。
把不同的版本作为模块开发
如需增加接口版本,在配置文件里面的 modules 里面增加对应的版本,比如 ‘v1’ => [
‘class’ => ‘app\modules\v1\Module’,
]
其他版本模仿 modules/v0 目录下的文件做修改。
模块包含子模块
上面把v1作为api的开头模块,
业务场景,不同业务模块可能存在相同的控制器(controller)和动作(action)
如:
/trading/user-address/list 和 /member/user-address/list
不同版本 对应为
/v1/trading/user-address/list
/v2/trading/user-address/list
/v1/member/user-address/list
/v2/member/user-address/list
3.身份权限
在请求中带上token
用户验证是在配置文件里面的 user 这个 字段下的配置,找到 common\models\User 这个文件下的loginByAccessToken() 方法
部分接口不需要验证token
Controller 控制器里面有 behaviors方法,里面才执行 权限判断
BaseController里面 没有实现 behaviors方法,需要验证登陆的 继承 Controller控制器,不需要的继承 BaseController
4.请求参数验证,直接在控制器中 rules 方法里面写规则。
5.使用yii2-apidoc扩展生成API文档
yii2-apidoc