YII2的restfulAPI开发入门(4)-几个问题

现在看我整理好的文档,一步步调试restful API,感觉非常简单,但当时在局中的我,确实碰到了不少麻烦事,而且网上也没标志的文档,都是自己网上找,自己实战,看源代码的方式折腾出来的。总体感觉,用Yii2写restful API还是蛮方便的。

1. 为了access-token参数能兼容nginx下的lua语言开发restful API,把access-token参数修改成accesstoken。

同时,Yii2.0框架下的:

vendor/yiisoft/yii2/filters/auth/QueryParamAuth.php需要修改,把变量access-token修改成accesstoken。

2. 对接收到的异常,客户端怎么进行处理?

⑴ accesstoken错误时

{

"name": "Unauthorized",

"message": "You are requesting with an invalid credential.",

"code": 0,

"status": 401,

"type": "yii\web\UnauthorizedHttpException"

}

⑵ 访问速率超速时

{

"name": "Too Many Requests",

"message": "Rate limit exceeded.",

"code": 0,

"status": 429,

"type": "yii\web\TooManyRequestsHttpException"

}

所以,设计API时,需要对返回的JSON数据格式设计统一的格式。

3. 最神奇的是数据表字段的值,会影响到“速率控制”功能。这我折腾了老半天才实验出来。

⑴ 在mysql终端执行下面的insert语句时,先执行set names utf8。

INSERT INTO `yii2_user` VALUES

(1,‘15801930241‘,‘9cbf8a4dcb8e30682b927f352d6559a0‘,‘[email protected]‘,1,1453174670,‘15801930241‘,‘0.0.0.0‘,0,‘64CE989D1FD68AF578EF4933166FF25E‘,0,0);

否则,访问速率控制会不起作用,真是奇怪。

代码下载地址:

http://pan.baidu.com/s/1o7NsVZc

时间: 2024-10-26 08:24:10

YII2的restfulAPI开发入门(4)-几个问题的相关文章

YII2的restfulAPI开发入门(1)-环境搭建

1. 准备工作 Web server: apache 或者 nginx Yii2版本: basic版本 数据库: mysql 2. 访问Yii2的web目录 ⑴ 测试Yii2环境 web/目录下创建info.php文件,文件代码为:echo phpinfo(); 输入 127.0.0.1/info.php后就能访问到 /web/info.php. 说明Yii2环境搭建成功. 3. 参数配置 ⑴ web.php (1.1) 'cookieValidationKey' => '2e268962384

YII2的restfulAPI开发入门(2)-第1个restfulAPI

1. ApiController.php <?php namespace app\controllers; use yii\web\Response; use yii\rest\ActiveController; class ApiController extends ActiveController{ /** * 将返回的数据设置成JSON格式 * {@inheritDoc} * @see \yii\rest\Controller::behaviors() */ public function

YII2的restfulAPI开发入门(3)-账户验证和速率控制

1. 几个Controller之间关系的说明 ⑴ 不需要进行认证 ApiController UserController extends ApiController ⑵ 需要进行认证 AuthApiController extends ApiController AuthuserController extends AuthApiController 2. 只有安全认证过的api才可执行账户验证和速率控制. ⑴ AuthApiController.php <?php namespace app

史上最简单的个人移动APP开发入门--jQuery Mobile版跨平台APP开发

书是人类进步的阶梯. ——高尔基 习大大要求新新人类要有中国梦,鼓励大学生们一毕业就创业.那最好的创业途径是什么呢?就是APP.<构建跨平台APP-jQuery Mobile移动应用实战>就是一本写给没钱没身份没资历的创业小白看的APP书,看完这本书你可以拥有自己的一个APP,不用花钱就能移植到其他移动平台,支持iOS,Android,Windows Phone!!!!!!!!找个最便宜的来练手吧!  小白APP交流Q群:  348632872 清华大学出版社推出的<构建跨平台APP:j

[050] 微信公众平台开发入门视频教程已发布

2014年4月26日晚8点,我在CSDN社区在线培训课堂讲解了微信公众平台开发入门的相关知识,受到广大网友的一致好评,在此非常感谢大家的支持!课程结束后,很多网友表示由于报名人数限制.临时有事等原因,未能参加,希望能够提供录制视频的观看地址.视频教程的主要内容包括: 1.移动APP发展趋势(Native APP.Web APP.Light APP) 2.微信公众平台基础知识(服务号/订阅号.公众账号注册的注意事项.微信认证) 3.开发模式的使用(启用开发模式.接收与响应消息.回复文本/图文/音乐

ArcGIS API for Silverlight开发入门准备

原文:ArcGIS API for Silverlight开发入门准备 微软的Silverlight提供了跨浏览器和跨平台开发环境,在Web中可用于创建和展现富互联网应用(RIA,Rich Internet Application). ArcGIS API for Silverlight 能够让的Silverlight应用程序具有集成ArcGIS Server.ESRI MapIt和Bing Maps服务的能力.利用 ArcGIS Server 和Bing Maps资源,比如说Maps.Loca

JavaWeb学习总结(一)JavaWeb开发入门

静态网页和动态网页 静态网页:在服务器上没有经过服务器解释执行的网页. 动态网页:在服务器上经过服务器解释执行的网页. 无论是静态网页还是动态网页,客户端看到的网页都是由HTML所构成的,所以JavaWeb开发需要懂HTML. Servlet和Servlet容器 Servlet:是一些实现了特定接口的Java类的集合. Servlet容器是JSP/Servlet代码运行的地方,是管理JSP/Servlet的地方. 其实Servlet容器就是一个服务器软件,比如Tomcat. HTTP协议 浏览器

Android Wear 开发入门

大家好,我是陆嘉杰,我是一名Android开发者.我想和大家进行一些技术交流,希望越来越多的人能和我成为好朋友. 大家都知道,智能手表是下一个开发的风口,而这方面的技术又属于前沿,所以和大家分享下Android Wear的开发流程. 首先,我推荐大家使用Android Studio来进行Wear的开发,这也是谷歌推荐的,本次讲授过程也将以Android Studio作为开发集成环境进行. 下面我们来创建Android Wear项目. 请注意,Android Wear项目中同时包含mobile和w

UWP开发入门(一)——SplitView

接下来会写一个UWP(Universal Windows Platform)开发入门的系列,自己学习到哪里,有什么心得总结,就会写到哪里.本篇对适用于顶层导航的SplitView控件展开讨论. 首先SplitView是Win10 UWP新增的控件,以前虽然可以通过DockPanel模拟出类似的效果,但又哪里及得上M$原生支持的SplitView快捷方便呢. 至于为什么说SplitView适合顶层导航,可以参考目前尚为数不多的UWP APP,比如微博.QQ和网易等Win10 APP,基本都是通过S