首頁  >  文章  >  後端開發  >  將 JSON 資料從 JavaScript 傳送到 FastAPI 時如何修復「422 Unprocessable Entity」錯誤?

將 JSON 資料從 JavaScript 傳送到 FastAPI 時如何修復「422 Unprocessable Entity」錯誤?

DDD
DDD原創
2024-11-13 01:06:02535瀏覽

How to Fix

對從JavaScript 到FastAPI 的JSON Post 請求進行故障排除

介紹

嘗試將JSON 資料從前端介紹JSON傳輸到使用POST 請求的FastAPI 後端,您可能會遇到類似「422 Unprocessable Entity”的錯誤訊息。本文探討了發生這種情況的原因,並提供了解決此問題的解決方案。

錯誤分析

錯誤表示您的後端 FastAPI 端點需要查詢參數,而不是JSON 正文。預設情況下,FastAPI 端點中的非路徑參數被解釋為查詢參數。

解決方案

有多種方法可以解決此問題並啟用JSON 資料的發布:

選項1:定義Pydantic 模型

建立Pydantic 模型來表示JSON數據,例如:

在端點處理程序中:

這要求JSON 主體採用以下格式:

在您的JavaScript 取得請求中:

選項2:使用FastAPI Body()輸入

這允許將JSON 資料直接發佈為字串:

在JavaScript 中:

選項3:使用FastAPI 的嵌入功能(建議用於單一主體參數)

這需要JSON正文的格式與選項2 相同:

在JavaScript 中:

結論

透過遵循這些解決方案,您可以成功地將JSON 資料從JavaScript 前端發佈到FastAPI 端點。請記住選擇最適合您的特定要求的方法。

以上是將 JSON 資料從 JavaScript 傳送到 FastAPI 時如何修復「422 Unprocessable Entity」錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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