簡介:體驗新一代高性能 Python Web 框架,本課程將從 Hellow World 開始引導同學們學習 FastAPI 框架的所有知識點。從框架特性一覽,到 ASGI 服務介紹,以全球新冠病毒感染數據查詢為功能場景,依次講解 FastAPI 的 API 交互文檔使用,如何使用 Pydantic 定義和規范數據格式、類型,各種請求參數和驗證,Jinja2 模板渲染和 Static 靜態文件配置,FastAPI 的響應處理和配置,通過代碼示例講解依賴注入系統的所有知識,數據庫配置與 SQLAlchemy 的使用,大型工程應該如何設計目錄結構。
框架的安全、認證、授權,中間件開發,跨域資源共享的實現,后臺任務和測試用例的編寫。
第1章 課程介紹
介紹本課程的學習內容和目標,如何學習本課程,展示最終代碼和效果,引導同學們對 FastAPI 框架有一個基本的了解,并能夠在課程結束后獨立使用 FastAPI 完成 RESTful API 接口開發
第2章 FastAPI介紹和項目準備
在學習 FastAPI 之前,先給大家介紹其相關的內容,如框架的優點,起源(與Pydantic/Starlette的關系),部署用到的服務。然后再講項目開發環境的搭建,最后是Pydantic包用法的講解。
第3章 請求參數和驗證
本章先講 FastAPI 程序的編碼方式,它自帶的 API 交互文檔 Swagger UI,然后講解 FastAPI 框架如何給后端傳遞參數,包括:路勁參數、參數參數、Body請求體、Cookie和Header參數。還有不同參數類型的組合使用。
第4章 響應處理和FastAPI配置
本章講解 FastAPI 框架的響應 Response,包括響應模型類和狀態碼。還有表單數據處理、上傳文件、路徑操作配置。FastAPI 應用的配置,錯誤處理。
第5章 FastAPI的依賴注入系統
本章專門講解 FastAPI 的依賴注入系統,從概念、原理到開發套路。
第6章 安全、認證和授權
本章會先圖文講解 OAuth 2.0 的概念和原理,然后 FastAPI 框架中實現 OAuth 2.0 的密碼模式認證和 JWT 認證。
第7章 FastAPI的數據庫操作和多應用的目錄結構設計
這章代碼量較多,主要是開發 Coronavirus 應用,實現課程開頭部分大家看到的效果。過程中會講解到數據庫的配置,SQLAlchemy ORM的開發,Jinja2模板的開發。最后還有一個關于工程知識點,項目目錄有結構的優化。
第8章 中間件、CORS、后臺任務、測試用例
這章把4個零散的知識點放在一起,都分別實現一些的簡單的示例,便于大家理解。后臺任務的部分,會把 Coronavirus 應用中的后臺同步數據功能完成。