1. 程式人生 > >寫RestApi需要註意些什麽?

寫RestApi需要註意些什麽?

pan 實踐 AC 學習 操作 分開 豆瓣 restfu 錯誤信息

  • 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

    STAER的後綴,也可以拉起phpstrom的斷點調試

  • 怎麽考慮開始寫一個接口?

  • 從實際應用的某個操作,比如登錄,跳轉等,可以對應到某段業務邏輯,思考需要哪些參數,寫對應的方法,剛開始時可以考慮在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需要註意些什麽?