现在看我整理好的文档,一步步调试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','1020617646@qq.com',1,1453174670,'15801930241','0.0.0.0',0,'64CE989D1FD68AF578EF4933166FF25E',0,0);
否则,访问速率控制会不起作用,真是奇怪。
代码下载地址:
http://pan.baidu.com/s/1o7NsVZc
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。