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