您好,登錄后才能下訂單哦!
現在看我整理好的文檔,一步步調試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進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。