寫RestApi需要註意些什麽?
- PS1="\n[\e[32;1m]([\e[37;1m]\u[\e[32;1m])-([\e[37;1m]jobs:\j[\e[32;1m])-([\e[37;1m]\w[\e[32;1m])\n([[\e[37;1m]! ![\e[32;1m])-> [\e[0m]"
-
業務是model層來負責的,控制層只負責調用
-
使用XMind來畫思維導圖,自問自答的方式,在實踐中不斷加深對軟件的熟悉度以及使用技巧
-
數據庫表設計時建議使用軟的外鍵約束,軟刪除;同時,數據庫表的設計時很難一開始就考慮完整,可能開發過程中也會進行一些字段的change
-
在Postman中訪問url鏈接時直接通過添加?DEBUGSESSION
-
怎麽考慮開始寫一個接口?
-
從實際應用的某個操作,比如登錄,跳轉等,可以對應到某段業務邏輯,思考需要哪些參數,寫對應的方法,剛開始時可以考慮在Controller中寫用來測試,之後要轉移到Model中去
-
都需要考慮到什麽?
-
不同的版本v1, v2; 方法接受參數的驗證(驗證器的思想,可能會提取一些公用的方法到基類BaseValidate中); 整個api調用過程中可能會發生的異常
-
代碼封裝性越好,越抽象,代碼復用性越好
-
@ RESTFul API
-
基於資源,增刪改查都是基於對資源狀態的改變;使用HTTP動詞來操作資源(/getmoive/:mid GET:/moive/:mid 建議後者)
-
@ HTTP動詞 POST:創建 PUT:更新 GET:查詢 DELETE:刪除
-
狀態碼: 404(Not Found), 400(Parameters Error), 200, 201, 202, 401(Unauthorized), 403, 500
-
錯誤碼: 自定義的錯誤ID號
-
統一描述錯誤:錯誤碼,錯誤信息,發生當前錯誤信息的URL
-
使用Token令牌來授權和驗證身份
-
版本控制
-
測試與生產環境分開:api.xxx.com/dev.api.xxx.com
-
URL語義要明確,最好可以“望文知意"
-
最好是有一份比較標準的文檔
-
最好的學習方法:模仿 豆瓣開放api; github開發者api
-
API是通過Token,令牌來驗證和授權的,要考慮三點:Token是不是有效的(數據庫中有對應的行)?Token的有效期;Token對應的權限
寫RestApi需要註意些什麽?