摘要:由服務端生成在請求任何接口之前,都必須先請求一個獲取服務器生成的的接口,獲取之后,才請求其他接口是請求時間型號設備號系統類型加密加密頭部存儲基本參數加密校驗參數必須填必須填以下為選填,可有可無,任由開發者自己定義類型設備號版本型號
傳統API與RESTful API
傳統API
獲取用戶信息 get /api/user/read 更新用戶信息 post /api/user/update 新增用戶信息 post /api/user/add 刪除用戶信息 post /api/user/delete
Restful API
獲取用戶信息 get /api/user/1 更新用戶信息 put /api/user/1 新增用戶信息 post /api/user 刪除用戶信息 delete /api/user/1
區別
相同:數據一般以json或xml格式返回 不同: Restful API:操作的是資源;增刪改查對應http動詞 傳統API : 只有get/post動詞;HTTP狀態碼
注意:API接口返回的 JSON數據 中包含的是業務狀態碼,并非HTTP狀態碼
2XX系列
200 請求成功(作用于GET方式) 201 創建成功(作用于POST方式) 204 更新/刪除成功(作用于PUT/Delete方式)
4XX系列
400 無效請求(參數錯誤或不合法) 401 缺少用戶認證參數,比如說,請求的時候沒有帶上 Token 等。 403 沒有權限 404 請求資源不存在 405 請求方法(get/post/put/delete)不允許使用
5XX系列
500 服務器內部錯誤(泛用,無需區分具體錯誤) 501 功能沒有實現API數據結構
返回的JSON數據結構 必須由團隊統一約定,一般必須包含3項:業務狀態碼、消息、數據
//API 返回數據結構如下 { "status": 0, "msg": "OK", "result": [] }
封裝一個方法:格式化通用API接口數據結構
function formatDataByJson($status, $msg, $data=[], $httpCode=200){ $result = [ "status" => $status, "msg" => $msg, "data" => $data ]; return json($result, $httpCode); }API異常處理 API數據安全
安全問題
黑客通常有2種手法獲取數據:
1、抓包
2、反編譯
1、請求地址、頭部參數、體部數據暴露(利用加密、有效時間、唯一性解決) 2、返回數據明文暴露(可通過加密解決) 3、擔心反編譯(使用防反編譯工具打包) 4、XSS腳本跨站攻擊
根據安全問題,有2種生成Token方式
由客戶端生成Token
客戶端工程師和服務器端工程師約定好規則,客戶端工程師把約定好規則的加密Token傳給服務器端,服務器端再按照約定好規則解密就好。
由服務端生成Token
在請求任何API接口之前,都必須先請求一個獲取服務器生成的Token的API接口,獲取Token之后,才請求其他API接口
Token是 請求時間+型號+設備號+系統類型 加密(aes加密)
HTTP頭部存儲基本參數
1、token(加密校驗參數)必須填 2、content-type (application/json) 必須填 ---------------------以下為選填,可有可無,任由開發者自己定義 3、app-type (app類型:android/ios/pc) 4、did (設備號) 5、version (版本) 6、model (型號)
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/26158.html
摘要:輕量級,部署簡單。此外,本文也不是入門文檔,而是為了預防陷坑而給出的指導意見,故在閱讀本文之前還請先仔細閱讀的文檔。可視作的一個最小部署和運行單元,簡單的說,可類比為。,主,負責部署程序中其他的。嚴格來講,之后,上述第一點并不完全正確。 一直以來早有將這些年用Vert.x的經驗整理一下的想法,奈何天生不是勤快人,直到最近扶墻老師問起,遂成此文。 選擇理由 現在想想,我們應該算是國內用V...
摘要:產品概念是一項基于的容器管理服務,你可以在上部署管理擴展你的容器化應用,而無需關心集群自身的搭建及維護等運維類工作。完全兼容原生的,以私有網絡為基礎,并整合了等云產品。其命名規范為。產品概念UCloud Container Service for Kubernetes (UK8S)是一項基于Kubernetes的容器管理服務,你可以在UK8S上部署、管理、擴展你的容器化應用,而無需關心Kub...
摘要:主要是避免引入太多的復雜性,并且出于靈活部署的需要。以應用為例,由于實際上是在上執行,若它被阻塞,即導致后續請求全部無法得到處理。因此,最合適的做法就是對于簡單業務,采用異步庫。本系列其他文章入坑須知入坑須知入坑須知 最開始覺得這個系列也就最多3篇了不起了(因為事不過三嘛),沒曾想居然迎來了第四篇! Kotlin 由于最近決定投身到區塊鏈的學習當中的緣故,出于更好的理解它的基本概念,自...
摘要:沒想到會找到其他開發者針對又拍云開發又拍云管理工具這樣的工具,我個人覺得也算是又拍云在接口方面比較開放的一個的案例吧。 今年上半年,我通過又拍云搭建了一個獨立博客,不久之后就遇到了很多實際問題:網上看到圖片想收藏到空間,YouTube上的MV想放到自己的博客,想對一段音視頻進行在線預覽和編輯……當時我查了下,必須要通過API接口編寫一段程序才能完成(不是程序猿,搭建獨立博客已經要了我半...
摘要:生育健康平臺算是我做過的比較完整,也比較大的一個項目了。首先,主要做的還是寫前臺,因為后臺我們這里用原來的項目的接口即可。孕前保健孕期保健兒童保健生殖健康就是通過在標簽下放好類,然后在點擊時切換類然后調接口拼接頁面想要的內容。 生育健康平臺算是我做過的比較完整,也比較大的一個項目了。現在想記錄一下,總結一下做的過程,遇到的難點。 首先,主要做的還是寫前臺,因為后臺我們這里用原來的項目...
閱讀 870·2021-09-02 09:55
閱讀 1495·2019-12-27 12:02
閱讀 1684·2019-08-30 14:24
閱讀 1138·2019-08-30 14:18
閱讀 2750·2019-08-29 13:57
閱讀 2193·2019-08-26 11:51
閱讀 1364·2019-08-26 10:37
閱讀 763·2019-08-23 16:09