API接口开发 配置、实现、测试
2015-05-17 22:55
417 查看
Yii2 基于RESTful架构的 advanced版API接口开发 配置、实现、测试
环境配置:
开启服务器伪静态
本处以apache为例,查看apache的conf目录下httpd.conf,找到下面的代码LoadModule rewrite_module modules/mod_rewrite.so
将其前面的#去掉,如果没有找到则添加进去。
找到一下代码
<Directory "C:/phpStudy/Apache/cgi-bin"> AllowOverride All Options None Require all granted </Directory>
将原本的AllowOverride None改为AllowOverride All。
然后在站点根目录下创建一个.htaccess文件,内容如下:
.htaccess
此处不再赘述yii2的配置,如果需要可以看YII2实战手册。
YII2实际操作:
1、配置URL规则及modules
main.php注意10~17行、20~44行的组件配置,相信大家仔细阅读就能明白,此处不再赘述原理,请大家尤其注意33~35行的代码,此处表示的是v1/site控制器,随着接口控制器的增多,可以直接在数组中增加即可。本文力求快速配置出RESTful架构的实现。
(3)v2、v3表示以后的版本变化,配置都类似于v1文件夹。
2、创建一个模型
数据库准备一个名为mxq_guide的数据表guide.php
3、创建一个控制器
SiteController.php控制器请创建在modules/controllers文件夹下,并注意命名空间的修改。
要注意的是,此处的控制器与普通的控制器继承Controller不同,此处需继承ActiveController类。
20~30行注释的代码是基于RESTful架构的access_token认证,目前还未测试通过,后续补充。
至此,基于YII2的所有配置已基本完成,接下来介绍api接口测试工具及方法。
RESTful的测试工具PostMAN:
首先介绍一下postman这款插件,是基于谷歌浏览器的一款模拟请求的实用插件。具体使用,在下面测试过程中涉及截图,介绍不足之处请见谅,自己也是第一次使用。推荐使用上面的APP版本,便于后续封装自己写好的api接口,下面的是网页版本。
YII2支持的RESTful有四种请求方式:GET查看信息,POST创建信息,PUT更新信息,DELETE删除信息。
下面开始演示四种请求数据的方式。(只是截图演示效果,具体使用还需要大家自己去摸索。)
此处演示的是GET方法请求数据库的数据。对应的是modules/controllers/SiteController/actionIndex方法。
请大家注意最上面方框内的URL地址,rest默认将控制器进行复数请求http://api.mxq.com/v1/sites,此处就是rest的默认规则。
打*星号位置显示的是正常的效果,如若出现错误,大家可以去YII权威指南——错误检查错误原因。
YII2的ActiveController默认实现了数据的分页效果。
此处演示的是POST方法新建数据库的数据。对应的是modules/controllers/SiteController/actionCreate方法。
如果在数据库的数据层写好数据校验规则,此处提交数据不满足要求的时候就会显示相应的错误。这也是REST的优势之一。比如如下情况,flag我定义的是int型:
接下来演示的是PUT方法更新数据库的数据。对应的是modules/controllers/SiteController/actionUpdate方法。
此处请大家再次注意最上面的URL:http://api.mxq.com/v1/sites/15 此处15代表的是数据库id为15的数据,表示更新数据库ID为15的数据信息。请大家一定注意。RESTful在使用更新和删除数据操作的时候,id不能一表单的形式提交,必须紧跟在URL之后。
接下来演示的是DELETE方法删除数据库的数据。对应的是modules/controllers/SiteController/actionDelete方法。
当返回值为1的时候表示的就是删除操作执行成功。具体原理请大家仔细观察sitecontroller控制器内的函数。
以上就是基于yii2的RESTful的一些简单介绍、实现方法以及测试结果。有什么不正确或遗漏的地方,欢迎大家来补充。后续也会在此基础上进行更新。本人第一次接触yii2框架和RESTful架构,表述如有不对之处,请大家见谅。
标签: PHP, RESTful, YII2, POSTMAN
相关文章推荐
- API接口开发 配置、实现、测试 Yii2 基于RESTful架构的 advanced版API接口开发 配置、实现、测试
- Yii2 基于RESTful架构的 advanced版API接口开发 配置、实现、测试 (转)
- Yii2 基于RESTful架构的 advanced版API接口开发 配置、实现、测试
- Yii2 基于RESTful架构的 advanced版API接口开发 配置、实现、测试
- Yii2 advanced版API接口开发 基于RESTful架构的 配置、实现、测试
- Yii2 advanced版API接口开发 基于RESTful架构的 配置、实现、测试
- Yii2 基于RESTful架构的 advanced版API接口开发 配置、实现、测试
- Laravel实现dingo+JWT api接口之配置篇
- Android开发学习之以CameraAPI方式实现相机功能(二)——相机功能配置
- Yii2 基于RESTful架构的 advanced版API接口开发 配置、实现、测试
- ArcGIS API for Javascript 开发:不适用esri.toolbar.draw接口,由用户控制定位中心点和半径,实现查询落在圆内的要素
- .Net实现微信公众平台开发接口(一) 之 “微信开发配置”
- 利用两种不同的NAT配置实现两个接口的双向静态NAT测试
- 高德地图的Js API 简单Demo,可以快速实现路点描线(摘自官方接口及自行修改测试)
- 配置Oracle VM VirtualBox,实现内外网访问笔记,以进行spark、hadoop集群开发测试
- cordova配置(实现webapp跨平台开发,js调用原生API)
- Java开发微信公众号-接口测试帐号接口配置及Java源代码
- 通过 spring 容器内建的 profile 功能实现开发环境、测试环境、生产环境配置自动切换
- 通过 spring 容器内建的 profile 功能实现开发环境、测试环境、生产环境配置自动切换
- .Net实现微信公众平台开发接口(一) 之 “微信开发配置”