Comment publier des données JSON de JavaScript vers FastAPI et éviter une erreur d'entité 422 non traitable ?

DDD
Libérer: 2024-11-10 21:49:02
original
1039 Les gens l'ont consulté

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

Publication de données JSON de JavaScript vers FastAPI

Dans ce scénario, l'objectif est de transmettre une valeur appelée « ethAddress » à partir d'un formulaire de saisie sur le client vers FastAPI pour une utilisation dans la génération de graphiques. Cependant, une erreur 422 Unprocessable Entity se produit. L'analyse du problème révèle que le problème réside dans la manière dont FastAPI interprète « ethAddress » comme paramètre de requête, en s'attendant à ce qu'il fasse partie de l'URL.

Pour résoudre ce problème, vous disposez de plusieurs options en fonction de votre profil spécifique. exigences :

Option 1 : Créer un modèle Pydantic

Définissez un modèle Pydantic pour gérer la structure de données que vous attendez de recevoir du client. Dans ce cas, créez une classe Item avec un seul champ 'eth_addr'.

Option 2 : Utilisez le type de corps

Vous pouvez également utiliser le type de corps FastAPI pour désigner que le paramètre doit être interprété à partir du corps de la requête.

Option 3 : Intégrer le paramètre du corps

Si vous avez un seul paramètre de corps, vous pouvez simplifier approfondissez le code en utilisant l'argument embed=True dans le type Body, ce qui permet à FastAPI d'analyser les données JSON directement à partir du corps intégré.

Envoi de données JSON depuis JavaScript

Une fois que vous avez ajusté le backend, vous pouvez configurer le client JavaScript pour envoyer les données JSON en conséquence. Assurez-vous de définir les en-têtes appropriés (par exemple, « Content-Type » : « application/json ») et d'utiliser JSON.stringify pour préparer les données avant de les envoyer via fetch.

Ressources supplémentaires

Pour des conseils plus détaillés et des exemples JavaScript sur la publication de données JSON, reportez-vous aux ressources suivantes :

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

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal