ThinkPHP5 API 多版本控制开发

ThinkPHP5 API 多版本控制开发

开发准备

对于接口开发,建议采用单独的项目部署,与后台项目分离开来,原因如下:

1. 接口多用于查询数据,对于数据提交的较少

2. 接口的权限多采用token模式,后台多采用RBAC控制访问

3. 对于需要高度安全的接口,需要进行加密处理。

首先建立新的项目,配置二级域名 api.xjwblog.com 。对于 APP 客户端开发,往往需要多版本的兼容,因此在服务端需要对接口进行兼容处理。

利用 ThinkPHP5 的多级控制器实现版本的控制

ThinkPHP5 多级控制器说明

以下我们以首页 banner 图为例:

在 route.php 中加入以下代码:

1
Route::get( '/:version/banner' 'api/:version.Home/banner' );

建立 api 模块,创建 controller 控制器层和 interfaces 接口约束层(对要实现的基本接口进行约束)以及 Home 文件, 结构如下:

befd087390b310582a1c3c5b2a024b41497.jpg

interfaces/Home.php 中代码如下:

051ebac75cf62a0db19729b7e630775c45a.jpg

controller/Base.php 中代码如下:

db6f3a545498d1158469a61550499027355.jpg

controller/Home.php 中代码如下:

fecd64de3a0c3c4e28c7ed73b3d81e696e4.jpg

controller/v1/Home.php 中代码如下:

a73b996ae91a61fca7f142709be02d76946.jpg

controller/v2/Home.php 中代码如下:

2046e90d856f4e835d2d3a05fa35193e6fd.jpg

说明:

controller/Base.php 中存放一些公用的方法以及必要的验证

controller/Home.php 中存放一些公用的方法以及无需进行版本验证的接口

controller/v1/Home.php 中存放 v1 版本单独所需的接口以及覆盖父类 Home.php 中的接口进行个性化配置

controller/v2/Home.php 中存放 v2 版本单独所需的接口以及覆盖父类 Home.php 中的接口进行个性化配置

接下来利用 postman 进行测试:

ThinkPHP5 API å¤çæ¬æ§å¶å¼å

ThinkPHP5 API å¤çæ¬æ§å¶å¼å

 
 

 

转载于:https://my.oschina.net/u/3477605/blog/3068529

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值