ホームページ >バックエンド開発 >Python チュートリアル >JSON データを JavaScript から FastAPI に送信する際のエラーを処理する方法は?
JavaScript から FastAPI に JSON データを送信する際のエラー処理
JavaScript フロントエンドから FastAPI バックエンドにデータを送信するには、データは正しい形式で適切なエンドポイントに渡されます。 422 Unprocessable Entity エラーが発生した場合は、データ形式が正しくないことが原因である可能性があります。
デフォルトでは、FastAPI はパスに含まれていない関数パラメータを クエリパラメータ。ただし、JSON データの場合は、次のいずれかの方法を使用して明示的に指定する必要があります。
1. Pydantic モデル:JSON データ構造を表す Pydantic モデルを定義します:from pydantic import BaseModel class Item(BaseModel): eth_addr: str @app.post('/ethAddress') def add_eth_addr(item: Item): return item2.ボディ タイプ:ボディ タイプを使用して、リクエスト本文からパラメータを解析する必要があることを指定します:
from fastapi import Body @app.post('/ethAddress') def add_eth_addr(eth_addr: str = Body()): return {'eth_addr': eth_addr}3. Body Embed:単一の body パラメーターの場合、embed=True 引数を使用してリクエスト本文からのデータを自動的に解析できます:
from fastapi import Body @app.post('/ethAddress') def add_eth_addr(eth_addr: str = Body(embed=True)): return {'eth_addr': eth_addr}JavaScript Fetch APIJavaScript で Fetch API を使用して JSON データを送信する場合、Content-Type ヘッダーを application/json に設定し、本文フィールドにデータを指定する必要があります:
fetch("http://localhost:8000/ethAddress", { method: "POST", headers: { 'Accept': 'application/json', 'Content-Type': 'application/json' }, body: JSON.stringify({ "eth_addr": "some address" }), });追加リソース詳細と詳細な例については、次のドキュメントとリソースを参照してください:
以上がJSON データを JavaScript から FastAPI に送信する際のエラーを処理する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。