首頁  >  文章  >  後端開發  >  如何將 JSON 資料從 JavaScript 發佈到 FastAPI 並避免 422 無法處理的實體錯誤?

如何將 JSON 資料從 JavaScript 發佈到 FastAPI 並避免 422 無法處理的實體錯誤?

DDD
DDD原創
2024-11-10 21:49:021043瀏覽

How to Post JSON Data from JavaScript to FastAPI and Avoid a 422 Unprocessable Entity Error?

將JSON 資料從JavaScript 發佈到FastAPI

在此場景中,目標是從輸入表單傳遞一個名為「ethAddress」的值在客戶端上連接到FastAPI 以用於圖表生成。但是,會出現 422 Unprocessable Entity 錯誤。對問題的分析表明,問題在於 FastAPI 將「ethAddress」解釋為查詢參數的方式,期望它成為 URL 的一部分。

要解決此問題,您有多種選擇,取決於您的特定情況要求:

選項1:建立Pydantic 模型

定義Pydantic 模型處理您期望從客戶端接收的資料結構。在本例中,建立一個具有單一「eth_addr」欄位的 Item 類別。

選項 2:使用 Body 類型

或者,使用 FastAPI Body 類型來表示該參數將從請求正文中解釋。

選項3:嵌入Body 參數

如果您只有一個body 參數,您可以透過在Body 類型中使用embed=True 參數來進一步簡化程式碼,這允許FastAPI 直接從嵌入的Body 解析JSON 資料.

從JavaScript 傳送JSON 資料

調整後端後,您可以設定JavaScript 用戶端相應地傳送 JSON 資料。確保設定適當的標頭(例如“Content-Type”:“application/json”)並使用 JSON.stringify 準備數據,然後再透過 fetch 發送數據。

其他資源

有關發布 JSON 資料的更詳細指南和 JavaScript範例,請參考以下內容資源:

  • https://fastapi.tiangolo.com/tutorial/body/
  • https://stackoverflow.com/questions/64357 060
  • https://stackoverflow.com/questions/64762081
  • https://stackoverflow.com/questions/64266617

以上是如何將 JSON 資料從 JavaScript 發佈到 FastAPI 並避免 422 無法處理的實體錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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