Création d'un point de terminaison FastAPI pour une réception flexible des données
Dans FastAPI, il est possible de créer un point de terminaison capable de gérer à la fois les corps de formulaire et de requête JSON.
Option 1 : Déterminer le type de contenu de manière dynamique
- Créez une fonction de dépendance pour vérifier l'en-tête Content-Type.
- Analysez le corps de la requête à l'aide des méthodes de Starlette basées sur sur le type de contenu.
- Utilisez un bloc try-sauf pour détecter les erreurs d'analyse.
Option 2 : Utiliser les paramètres facultatifs
- Définissez votre point de terminaison avec les paramètres de fichier et de formulaire marqués comme facultatifs.
- Vérifiez si les paramètres ont des valeurs pour déterminer si les données du formulaire ont été envoyées.
- Sinon, essayez d'analyser le corps de la requête comme JSON.
Option 3 : points de terminaison séparés avec un middleware
- Créez des points de terminaison distincts pour JSON et les demandes de données de formulaire.
- Utiliser un middleware pour vérifier le type de contenu et rediriger la requête vers le point de terminaison approprié.
Option 4 : envisager les requêtes combinées
- Utiliser le model_validate_json de Pydantic () pour analyser les corps JSON transmis dans les paramètres du formulaire.
- Autoriser la soumission des données JSON et du formulaire dans une seule requête en rendant les paramètres de point de terminaison facultatifs.
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!