开发准备php
对于接口开发,建议采用单独的项目部署,与后台项目分离开来,缘由以下:thinkphp
1. 接口多用于查询数据,对于数据提交的较少api
2. 接口的权限多采用token模式,后台多采用RBAC控制访问安全
3. 对于须要高度安全的接口,须要进行加密处理。thinkphp5
首先创建新的项目,配置二级域名 api.xjwblog.com 。对于 APP 客户端开发,每每须要多版本的兼容,所以在服务端须要对接口进行兼容处理。post
利用 ThinkPHP5 的多级控制器实现版本的控制测试
如下咱们以首页 banner 图为例:url
在 route.php 中加入如下代码:spa
1
|
Route::get(
'/:version/banner'
,
'api/:version.Home/banner'
);
|
创建 api 模块,建立 controller 控制器层和 interfaces 接口约束层(对要实现的基本接口进行约束)以及 Home 文件, 结构以下:
interfaces/Home.php 中代码以下:
controller/Base.php 中代码以下:
controller/Home.php 中代码以下:
controller/v1/Home.php 中代码以下:
controller/v2/Home.php 中代码以下:
说明:
controller/Base.php 中存放一些公用的方法以及必要的验证
controller/Home.php 中存放一些公用的方法以及无需进行版本验证的接口
controller/v1/Home.php 中存放 v1 版本单独所需的接口以及覆盖父类 Home.php 中的接口进行个性化配置
controller/v2/Home.php 中存放 v2 版本单独所需的接口以及覆盖父类 Home.php 中的接口进行个性化配置
接下来利用 postman 进行测试: