當您需要將數據從客戶端(例如瀏覽器)發送到API時,可以將其作為 “請求體” 發送。
請求體 是客戶端發送到您的API的數據。 響應體 是您的API發送給客戶端的數據。
API幾乎總是必須發送壹個 響應體 ,但是客戶端並不需要壹直發送 請求體 。
定義 請求體 ,需要使用 Pydantic 模型 。
例如,上面的模型 Item 聲明了壹個 JSON 對象(或Python dict ),例如:
... description 和 tax 屬性是可選的(因為有默認值 None ),所以下面這個 JSON 對象也是有效的:
將上面定義的模型添加到妳的路徑操作中,就和定義Path和Query參數壹樣的方式:
...聲明參數的類型為妳創建的模型 Item .
通過那樣定義Python 類型為 pydantic 的 model , FastAPI 將會:
模型的 JSON Schema 將成為OpenAPI生成模式的壹部分,並將顯示在交互式API文檔中:
並且還將在需要它們的每個路徑操作的API文檔中使用:
在妳的編輯器中,編寫的函數中,妳將會獲得類型提示和補全:
您也會獲得類型操作錯誤檢查:
Pydantic 本身甚至進行了壹些更改以支持此操作。
但是您可以通過 PyCharm 和大多數其他Python編輯器獲得相同的編輯器支持:
在函數內部,您可以直接訪問模型對象的所有屬性:
妳可以同時定義 Path參數 和 請求體參數 .
妳可以同時定義 Path參數 、 Query參數 和 請求體參數 .
** FastAPI **將識別它們中的每壹個並從正確的位置獲取數據。