FastAPI RestfulAPI 前後端分離的支柱
- [Day01] FastAPI 推坑與框架的朋友們
- FastAPI 優點
- django / flask / FastAPI 大比拼
- FastAPI 之於 其他 python 後端框架架,就像 typescript 之於 javascript(指的是語法層面)
- 在各個 function 傳遞之間都會定義好 schema , 更容易 Debus ( Schema 設定好)
- [Day02] FastAPI 起步: 環境安裝
- venv
- poetry
- uvicorn
- [Day03] FastAPI 設定與 Uvicorn 包裝
- CROS
app.py包裝
- [Day04] FastAPI 基礎架構
- Typing
- router
- python decorator ( vs flask )
- swagger docs
- [Day05] FastAPI Router parmater & query paramater
- [Day06] Schema & Pydanic
- [Day07] Example & Field
- [Day08] Response module
- [Day09] Python Typing
- 可能為 None -> Optional
- 可以是多個 type -> Union
- 為這個 type 註解 -> Annotated
- [Day10] 再談 Schema 常見錯誤
- [Day11] Dpendency 萬用刀
- [Day12] 再談 Dpendency 常見錯誤
- 只能在 router 的地方使用 Depends
- 如果在其他 utils.py 或 model.py 使用會報錯
- [Day13] 依據項目切分 Router
- [Day14] 連接 DB
- [Day15] 使用 SQLalchemy
- [Day16] Model
- [Day17] Schema 與 Model 差別
- [Day18] 架構優化:將 CRUD 與 api endpoint 分離
- [Day19] 架構優化:非同步存取 DB 與 .env
- [Day20] 架構優化:透過 Depends 注入非同步 DB Session 到 CRUD
- [Day21] OAuth2 實例:OAuth2 Login / Refresh JWT 機制
- 分為三個 router :
- /auth
- /user
- /me ( protected router)
- birthday
- country
- avatar
- money
- address
- 分為三個 router :
- [Day22] OAuth2 實例:內建 OAuth2_schema
- [Day23] OAuth2 實例:密碼驗證
- [Day24] OAuth2 實例: JWT 驗證
- [Day25] OAuth2 實例:需要 Authorize 的 router
- 將 OAuth2_schema 設為 Depends
- [Day26] OAuth2 實例:User api & CRUD
- [Day27] OAuth2 實例:Me api & CRUD
- [Day28] 測試:pytest 入門與安裝
- [Day29] 測試:pytest CRUD 與驗證
- [Day30] 部署:使用 docker-compose 部署
- [Day31] 總結:
- [Day32] 延伸功能:使用 redis 作為 server cache (設定)
- [Day33] 延伸功能:在 CRUD 查詢加上 cache
- [Day34] 延伸功能:使用 decorator 重構 redis 架構
- [Day35] 延伸功能:專案細節調整與部署