亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

WebAPP的API應該如何設計?

WebAPP的API應該如何設計?

撒科打諢 2018-07-20 17:17:05
在設計一個資源分享應用。設計RESTful API時,在設計層面有些蒙圈了。特地求教各位。物聯網設備通過設備云服務抽象成一個設備API。而我目前設計的Web APP則是通過與應用業務的整合,將設備API封裝后,再次封發給第三方APP(比如其他合作平臺)和移動APP。DeviceAPI --> WebAPI -?-> Cloud|APK|APP我現在有兩種選擇:第一種來自Flask/Flask-RESTful的API設計,采用JSON格式。先采用API Key/Secret登陸,換取token,然后在后續訪問中采用token來訪問,也可以利用API Key/Secret繼續訪問。這是最常見的經典方式。典型的URL風格是:http://host/api/version/resource/idx/第二種來自Flask-appbuilder自帶的資源驅動的REST API,采用JSON格式。但是其鑒權方式采用經典的username/password。換而言之,移動APP事實上是作為瀏覽器的替代物而存在的。唯一區別在于返回值采用JSON替代了XHTML。典型URL風格是:http://host/resource/api/idx有些怪異,是吧?但URI字段順序并不是最重要的,我發現移動APP和第三方APP的需求是有差異的。作為用戶,使用移動APP列出自己名下的設備列表,并通過設備ID來訪問特定設備的狀態讀取和指令下發。所以這種方式更加適合第二種方式。作為合作方網站,需要訪問的范圍可能更加廣,雖然不能夠指令下發,但是讀取特定設備的狀態也涉及到隱私權。這個似乎更加適合第一種方式。必須依賴設備ID訪問特定設備,不同的用戶,不同的第三方平臺都需要單獨的設備密鑰。這兩種方式是否可以整合?這個問題比較寬泛,歡迎指教和討論。
查看完整描述

2 回答

?
SMILET

TA貢獻1796條經驗 獲得超4個贊

我對你具體業務這一塊不是很了解啊。不過看你上面的問題,url是怎么樣的并不是那么重要,restful其實除了json,還有xml,form,url query等多種方式,flask-restful都是支持的。剩下主要問題就是鑒權方式,原理都差不多,無非是傳輸或存放的地方不一樣,可以是:session,cookie,url params,http header等等。

查看完整回答
反對 回復 2018-07-23
  • 2 回答
  • 0 關注
  • 861 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號