温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

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

发布时间:2020-07-21 11:48:51 来源:网络 阅读:800 作者:neptunecai 栏目:开发技术

 

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


向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI