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