FastAPI 路由詳解:路徑參數、查詢參數、請求體,一一掌握!

2025.04.08
你是否曾在編寫介面時對參數處理感到迷糊?

路徑參數怎麼寫?
查詢參數和請求體參數有啥差異?
怎麼自動類型校驗、產生文件?
這篇文章將帶你全面掌握 FastAPI 中最常用的三種參數類型,配合 Pydantic 驗證,輕鬆建立高品質 API!


路徑參數(Path Parameters)
路徑參數出現在 URL 中,例如 /users/{user_id}。
存取 /users/123,FastAPI 會自動將 123 轉為 int 傳入 user_id。

特點:

參數寫在 URL 路徑中
自動型別轉換
常用於資源定位(如使用者 ID)
查詢參數(Query Parameters)
查詢參數透過 URL ? 後的鍵值對傳遞,例如 /search?q=fastapi&limit=10。
訪問 /search?q=fastapi&limit=5 返回:

特點:

傳參方式靈活,可設定預設值
自動類型校驗、自動文件支持
常用於分頁、篩選、搜索
請求體參數(Request Body)
當你需要傳遞 JSON 物件等複雜結構,就要用請求體參數,並結合 Pydantic 定義模型。

步驟一:定義資料模型
步驟二:接收請求體

發送請求:

FastAPI 會:

自動將 JSON 轉換為對象
自動校驗字段
自動產生 API 文件
混合使用(路徑 + 查詢 + 請求體)
三種參數可以組合使用:

參數驗證與文檔增強
FastAPI 支援透過 Query 和 Path 設定限制和文件描述:
支援的驗證包括:

是否必填(...)
數值範圍(ge=1)
字元長度(max_length)
自動展示在 Swagger 文件中
總結
FastAPI 的參數處理不僅強大,還智慧、自動、文件友好,大大提升開發體驗與效率!