Maison  >  Article  >  développement back-end  >  Comment créer des points de terminaison FastAPI flexibles : gérer à la fois les données de formulaire et les données JSON ?

Comment créer des points de terminaison FastAPI flexibles : gérer à la fois les données de formulaire et les données JSON ?

Linda Hamilton
Linda Hamiltonoriginal
2024-10-28 02:31:01146parcourir

How to Create Flexible FastAPI Endpoints: Handling Both Form and JSON Data?

Comment créer un point de terminaison FastAPI pouvant accepter un formulaire ou un corps JSON ?

Option 1 : Utiliser une fonction de dépendance

Cette méthode implique la création d'une fonction de dépendance qui vérifie l'en-tête de la requête Content-Type et analyse le corps en conséquence à l'aide des méthodes de Starlette. Cependant, il est important de considérer que les en-têtes de requête peuvent être modifiés et ne reflètent pas toujours avec précision le type de données. De plus, il est recommandé de mettre en œuvre une vérification de type et une validation pour garantir que la structure de données attendue est reçue.

Option 2 : Définir les paramètres facultatifs

Une autre approche consiste à définir des paramètres facultatifs. paramètres pour les données de fichier/formulaire et vérifiez s’ils ont des valeurs transmises lors de la requête. Si tous les paramètres facultatifs sont None, il s'agit probablement d'une requête JSON. Cette option permet une définition plus claire du point de terminaison, mais il est important de valider que la requête JSON est bien valide.

Option 3 : Middleware et points de terminaison séparés

À l'aide d'un middleware, vous pouvez vérifier la destination de la demande entrante et la rediriger vers des points de terminaison spécifiques en fonction du type de contenu. Cette approche garantit une définition propre du point de terminaison et permet une gestion ciblée des erreurs et une analyse des données.

Option 4 : Envoi de données JSON et de formulaire mixtes (externes)

Une solution alternative , qui implique l'envoi à la fois du corps JSON et des fichiers ou des données de formulaire, est abordé dans une autre réponse Stack Overflow liée dans le texte fourni. Cette approche implique d'analyser les données de manière plus personnalisée et d'utiliser la validation du modèle de Pydantic pour les données JSON transmises via un paramètre de formulaire.

Test avec des requêtes Python

Pour les tests, vous pouvez utiliser le code de requêtes Python fourni pour envoyer des données dans différents formats au point de terminaison. Cela vous permet de vérifier le comportement du point de terminaison et les capacités de traitement des données.

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!

Déclaration:
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