首頁 >後端開發 >Python教學 >在FastAPI中傳送JSON POST請求時如何處理422錯誤?

在FastAPI中傳送JSON POST請求時如何處理422錯誤?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-12-17 01:09:24181瀏覽

How to Handle 422 Errors When Sending JSON POST Requests in FastAPI?

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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn