作者:麥克煎蛋 出處:https://www.cnblogs.com/mazhiyong/ 轉載請保留這段聲明,謝謝!
2020.08.06 完成工程示例,已上傳至GitHub: https://github.com/zhiyongma/fastproject
2020.07.30 第一遍基本翻譯完成了,前后可能還需要整理下
另外打算補充下部分基礎知識,比如協程等;之后打算整理示例工程
再之后打算研究下Starlette 和 Pydantic,以及異步框架的基礎運行機制等等。。。
2020.07.15 重新歸納了目錄分類,並將前后相關聯的內容整理到了一個文件中
------------------------------------------------------------------------
目前采用的Python web開發框架一直是Flask,但實際上只用到了其中的API功能。
偶然間了解到了FastAPI,初步感覺還是挺好的,能滿足API的功能需求,性能又大大提升了。
先基於官方的文檔學習下,后續再進行工程實踐。
官方地址:https://fastapi.tiangolo.com/
主體內容是基於官方文檔的翻譯,同時根據自己的理解加以適當調整。
目前基本通讀完了官方文檔,但還需要消化和理解下,然后再逐步整理文檔。
總的來說,FlaskApi無論從性能還是業務功能的完善度來說,都遠遠勝於Flask。
如果比較熟悉FastAPI的話,實際代碼管理應該比Flask更便捷,並且重復代碼量也會少一些。
可交互式文檔是一個比較強大的功能,不僅便於輸出接口文檔,而且方便隨時調試,翻譯過程中做了簡略。可在實踐中自行體驗。
------------------------------------------------------------------------
在進行FastAPI學習的時候,先熟悉下一些基礎概念對整體的學習是大有幫助的。
FastAPI 基礎理論
FastAPI 異步代碼、並發和並行 (這篇文章翻譯的老費勁了)
Python協程
FastAPI 基礎學習
FastApi 基礎學習(三) Pydantic 做類型強制檢查
FastAPI 基礎學習(六) Request Body(I)
FastAPI 基礎學習(七) Request Body(II)
FastAPI 基礎學習(十四) Response自定義狀態碼
FastAPI Response
FastAPI Response(一) Response模型
FastAPI Response(二) 直接返回Response對象
FastAPI Response(三) 定制化的Response
FastAPI Response(四) 高級定制的Response
FastAPI 中間件
FastAPI 依賴注入系統
FastAPI 依賴注入系統(四) 基於路徑操作裝飾器的依賴項
FastAPI 依賴注入系統(五) 帶有yield功能的依賴項
FastAPI 安全機制
FastAPI 安全機制(二) 基於OAuth2和JWT的Token認證機制(一)生成token
FastAPI 安全機制(三) 基於OAuth2和JWT的Token認證機制(二)用戶登陸及驗證
FastAPI 數據庫訪問
FastAPI 數據庫訪問(一)使用SQLAlchemy訪問關系數據庫
FastAPI 數據庫訪問(二)使用SQLAlchemy異步訪問關系數據庫
FastAPI 進階知識
FastAPI 進階知識(七) 在Request中存儲附加信息
FastAPI WebSockets
FastAPI 工程管理
關於交互式文檔的配置信息這里不再贅述,可以參考以下相關原文:
https://fastapi.tiangolo.com/tutorial/metadata/
https://fastapi.tiangolo.com/advanced/path-operation-advanced-configuration/