FastAPI:使用JSON 資料處理POST 請求
使用FastAPI API 時,遇到422 Unprocessable Entity 錯誤代碼可能會令人沮喪,錯誤代碼尤其是透過POST 請求發送JSON 資料時。當請求正文與預期格式不符或缺少必填欄位時,會發生此錯誤。
要解決此問題,請考慮使用以下選項來定義需要JSON 資料的端點:
選項1:Pydantic 模型
利用Pydantictic 模型建立請求正文的結構化表示。這種方法可以輕鬆驗證和記錄預期參數。
選項 2:主體參數
使用 Body 參數嵌入直接在函數中聲明預期的 JSON 負載簽章。此方法簡化了參數處理。
選項 3:字典類型
將請求正文定義為 dict[Any, Any] 或 dict(如果使用 Python 3.9 )。雖然此選項不提供自訂驗證,但它提供了靈活性。
選項 4:Starlette 的請求物件
直接透過 Starlette 請求物件存取請求正文。請注意,此方法需要使用 async def 並需要手動處理 JSON 解析。
測試選項
要測試上述選項,請考慮使用 Python requests 函式庫或JavaScript 取得 API。確保請求標頭包含適當的內容類型(例如 application/json)並且正文包含所需的 JSON 資料。
以上是在FastAPI中傳送JSON POST請求時如何處理422錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!