当前位置: 首页 > news >正文

wordpress qq在线聊天/网站设计优化

wordpress qq在线聊天,网站设计优化,做模板下载网站挣钱吗,wordpress做资源分享站原文地址为: API接口开发 配置、实现、测试Yii2 基于RESTful架构的 advanced版API接口开发 配置、实现、测试 环境配置: 开启服务器伪静态 本处以apache为例,查看apache的conf目录下httpd.conf,找到下面的代码 LoadModule rewrite…
原文地址为: API接口开发 配置、实现、测试

Yii2 基于RESTful架构的 advanced版API接口开发 配置、实现、测试

环境配置:

开启服务器伪静态

本处以apache为例,查看apache的conf目录下httpd.conf,找到下面的代码

LoadModule rewrite_module modules/mod_rewrite.so

将其前面的#去掉,如果没有找到则添加进去。

找到一下代码

<Directory "C:/phpStudy/Apache/cgi-bin">AllowOverride AllOptions NoneRequire all granted
</Directory>

将原本的AllowOverride None改为AllowOverride All。

然后在站点根目录下创建一个.htaccess文件,内容如下:

  .htaccess

此处不再赘述yii2的配置,如果需要可以看YII2实战手册

YII2实际操作:

1、配置URL规则及modules

(1)新建modules文件夹,实行api接口版本控制。例如V1版本、V2版本……

在v1文件夹下新建controllers文件夹(控制器)、models文件夹(模型)、Module.php配置文件。

Module.php文件如下:

复制代码
 1 <?php2 namespace api\modules\v1;3 4 class Module extends \yii\base\Module5 {6 7     public $controllerNamespace = 'api\modules\v1\controllers';8 9     public function init()
10     {
11         parent::init();
12     }
13 }
复制代码

第2行和第7行随版本扩展而变化(v1->v2...)。

(2)配置config文件夹下的main.php文件

  main.php

注意10~17行、20~44行的组件配置,相信大家仔细阅读就能明白,此处不再赘述原理,请大家尤其注意33~35行的代码,此处表示的是v1/site控制器,随着接口控制器的增多,可以直接在数组中增加即可。本文力求快速配置出RESTful架构的实现。

(3)v2、v3表示以后的版本变化,配置都类似于v1文件夹。

2、创建一个模型

数据库准备一个名为mxq_guide的数据表

复制代码
CREATE TABLE `mxq_guide` (`id` int(11) NOT NULL AUTO_INCREMENT,`imgurl` varchar(255) DEFAULT NULL COMMENT '图片路径', 
`status` int(11) DEFAULTNULL COMMENT '1启用 0禁用',
`flag` int(11) DEFAULTNULL COMMENT '1安卓 2苹果',
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=24 DEFAULT CHARSET=utf8 COMMENT='APP导航图';
复制代码

创建后请注意及时往数据库添加几条数据信息。

通过脚手架gii来创建guide.php模型(使用方法请看yii2权威指南)。生成后的文件注意改写,修改为如下形式以满足RESTful的需求。之后从models文件夹中转移到v1/models文件夹中,并注意命名空间的修改。

  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接口开发 配置、实现、测试
http://www.lbrq.cn/news/1057087.html

相关文章:

  • 用tomcat做网站/plc培训机构哪家最好
  • 专做校园购物网站/农产品网络营销
  • 网上做网站怎么赚钱/广州百度竞价托管
  • 合肥装饰公司做的好的网站/利于seo的建站系统有哪些
  • 工商管理局注册查询/谷歌seo详细教学
  • 网站设计团队/今天实时热搜榜排名
  • 微信链接网页网站制作/seo薪酬水平
  • 商城网站建设方案书/南宁seo手段
  • 网站定位与功能分析/武汉seo认可搜点网络
  • 新疆网站开发哪家好/抖音seo点击软件排名
  • 张掖网站建设培训/seo的名词解释
  • 35互联做的网站后台怎样登录/网络推广专员是做什么的
  • wordpress 换数据库/杭州最好的seo公司
  • 网站权重多少4/谷歌浏览器中文手机版
  • 网站建设的整个流程图/dz论坛如何seo
  • 建设银行短信带网站/冯耀宗seo
  • 邯郸网站建设维护/武威网站seo
  • 个人网站搭建平台/重庆网站网络推广
  • 中企动力科技做什么的/重庆百度seo排名
  • 湖南网站设计企业/深圳谷歌网络推广公司
  • 做网站的公司/微信推广引流加精准客户
  • 有没有清仓处理的网站/google搜索引擎免费入口
  • 上海网站建设备案号怎么恢复/一站式网络营销
  • 怎么做产品的网站/百度推广助手
  • 网站建设与推广实训小结/搜索引擎收录查询
  • 西安网络建设公司/北京网站优化排名
  • adobe photoshop/搜外seo
  • 麦云短链接/seo图片优化
  • 网站建设公司新/网站排名查询
  • 深圳东门步行街图片/网站seo站长工具
  • Redis中间件(一):Redis相关命令及其原理
  • Dart中回调函数的简单实现
  • MonoFusion 与 Genie 3
  • selenium操作指南
  • 鼠标下滑时回跳问题
  • springboot + maven 使用资源占位符实现动态加载配置文件