


Comment implémenter la validation et le nettoyage des données demandées dans FastAPI
Titre : Comment implémenter la validation et le nettoyage des données demandés dans FastAPI
FastAPI est un framework Web hautes performances et facile à utiliser qui fournit de puissantes fonctions de validation et de nettoyage des données pour nous aider à écrire des API robustes. Cet article expliquera comment implémenter la vérification et le nettoyage des données demandées dans FastAPI, et joindra des exemples de code correspondants.
1. Installez et créez l'application FastAPI
Tout d'abord, nous devons installer FastAPI et ses dépendances. Vous pouvez utiliser pip pour installer :
$ pip install fastapi
Ensuite, créez un nouveau fichier Python app.py et importez les modules nécessaires :
from fastapi import FastAPI from pydantic import BaseModel
Ensuite, créez une instance de l'application FastAPI :
app = FastAPI()
2. Créez Classe modèle pour la vérification des données
Dans FastAPI, nous pouvons utiliser la bibliothèque pydantic pour créer une classe modèle pour la vérification et le nettoyage des données de la demande. Les classes de modèle sont créées en héritant de BaseModel. On peut définir les champs à valider et leurs types dans la classe modèle.
Voici un exemple qui montre comment créer une classe modèle pour valider les demandes des utilisateurs :
class UserRequest(BaseModel): username: str age: int email: str
Dans l'exemple ci-dessus, nous avons défini une classe modèle UserRequest avec trois champs : nom d'utilisateur, âge et e-mail, et spécifié que leurs types sont une chaîne. , entier et chaîne.
3. Utiliser des classes de modèle pour la vérification et le nettoyage des données
Pour utiliser des classes de modèle pour la vérification et le nettoyage des données dans FastAPI, il suffit d'utiliser la classe de modèle comme annotation pour les paramètres et d'utiliser une instance de la classe de modèle dans le fonction.
Voici un exemple qui montre comment utiliser les classes de modèle pour la validation et le nettoyage des données dans FastAPI :
@app.post("/user") def create_user(user: UserRequest): """ 创建用户 """ # 进行业务逻辑处理 # ... return {"message": "用户创建成功"}
Dans l'exemple ci-dessus, nous avons défini une fonction create_user et utilisé la classe de modèle UserRequest pour la validation et le nettoyage des données. Lorsque nous envoyons une requête POST au chemin /user, FastAPI vérifiera automatiquement si les données de la requête sont conformes à la définition de la classe de modèle UserRequest.
Si les données demandées ne répondent pas à la définition de la classe de modèle, FastAPI renverra une réponse 400 Bad Request. Si les données de la demande sont vérifiées avec succès, FastAPI convertira automatiquement les données de la demande en une instance de la classe de modèle UserRequest que nous pourrons utiliser dans la fonction.
4. Fonction de vérification personnalisée et gestion des erreurs
Parfois, nous devons effectuer une vérification de logique métier complexe. À ce stade, nous pouvons utiliser le décorateur de vérification dans pydantic pour écrire une fonction de vérification personnalisée.
Voici un exemple qui montre comment utiliser les fonctions de validation personnalisées et la gestion des erreurs dans FastAPI :
from pydantic import validator class UserRequest(BaseModel): username: str age: int email: str @validator('age') def validate_age(cls, age): if age < 0 or age > 120: raise ValueError('年龄应在0到120之间') return age
Dans l'exemple ci-dessus, nous définissons une fonction validate_age et l'appliquons au champ age à l'aide du décorateur validateur. Dans la fonction, nous avons une logique de validation personnalisée qui générera une erreur de valeur si l'âge n'est pas compris entre 0 et 120.
Après avoir utilisé la fonction de vérification personnalisée, FastAPI l'appliquera automatiquement et renverra une réponse de 400 requêtes incorrectes lorsque la vérification échoue.
Résumé
Dans cet article, nous avons appris à utiliser les classes de modèles dans FastAPI pour vérifier et nettoyer les données de requête. Nous avons créé une classe de modèle et implémenté la validation et le nettoyage des données dans les fonctions qui utilisent cette classe. Nous avons également appris à écrire des fonctions de validation personnalisées et à gérer les erreurs pour répondre aux besoins commerciaux complexes.
FastAPI fournit de puissantes fonctions de vérification et de nettoyage des données, qui peuvent grandement simplifier notre travail d'écriture d'API et améliorer la fiabilité et la sécurité des API. J'espère que cet article vous aidera à comprendre et à appliquer les fonctions de validation et de nettoyage des données de FastAPI.
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!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Ce tutoriel montre comment utiliser Python pour traiter le concept statistique de la loi de Zipf et démontre l'efficacité de la lecture et du tri de Python de gros fichiers texte lors du traitement de la loi. Vous vous demandez peut-être ce que signifie le terme distribution ZIPF. Pour comprendre ce terme, nous devons d'abord définir la loi de Zipf. Ne vous inquiétez pas, je vais essayer de simplifier les instructions. La loi de Zipf La loi de Zipf signifie simplement: dans un grand corpus en langage naturel, les mots les plus fréquents apparaissent environ deux fois plus fréquemment que les deuxième mots fréquents, trois fois comme les troisième mots fréquents, quatre fois comme quatrième mots fréquents, etc. Regardons un exemple. Si vous regardez le corpus brun en anglais américain, vous remarquerez que le mot le plus fréquent est "th

Cet article explique comment utiliser la belle soupe, une bibliothèque Python, pour analyser HTML. Il détaille des méthodes courantes comme find (), find_all (), select () et get_text () pour l'extraction des données, la gestion de diverses structures et erreurs HTML et alternatives (Sel

Cet article compare TensorFlow et Pytorch pour l'apprentissage en profondeur. Il détaille les étapes impliquées: préparation des données, construction de modèles, formation, évaluation et déploiement. Différences clés entre les cadres, en particulier en ce qui concerne le raisin informatique

La sérialisation et la désérialisation des objets Python sont des aspects clés de tout programme non trivial. Si vous enregistrez quelque chose dans un fichier Python, vous effectuez une sérialisation d'objets et une désérialisation si vous lisez le fichier de configuration, ou si vous répondez à une demande HTTP. Dans un sens, la sérialisation et la désérialisation sont les choses les plus ennuyeuses du monde. Qui se soucie de tous ces formats et protocoles? Vous voulez persister ou diffuser des objets Python et les récupérer dans son intégralité plus tard. C'est un excellent moyen de voir le monde à un niveau conceptuel. Cependant, à un niveau pratique, le schéma de sérialisation, le format ou le protocole que vous choisissez peut déterminer la vitesse, la sécurité, le statut de liberté de maintenance et d'autres aspects du programme

Le module statistique de Python fournit de puissantes capacités d'analyse statistique de données pour nous aider à comprendre rapidement les caractéristiques globales des données, telles que la biostatistique et l'analyse commerciale. Au lieu de regarder les points de données un par un, regardez simplement des statistiques telles que la moyenne ou la variance pour découvrir les tendances et les fonctionnalités des données d'origine qui peuvent être ignorées et comparer les grands ensembles de données plus facilement et efficacement. Ce tutoriel expliquera comment calculer la moyenne et mesurer le degré de dispersion de l'ensemble de données. Sauf indication contraire, toutes les fonctions de ce module prennent en charge le calcul de la fonction moyenne () au lieu de simplement additionner la moyenne. Les nombres de points flottants peuvent également être utilisés. Importer au hasard Statistiques d'importation de fracTI

Dans ce tutoriel, vous apprendrez à gérer les conditions d'erreur dans Python d'un point de vue système entier. La gestion des erreurs est un aspect critique de la conception, et il traverse les niveaux les plus bas (parfois le matériel) jusqu'aux utilisateurs finaux. Si y

L'article traite des bibliothèques Python populaires comme Numpy, Pandas, Matplotlib, Scikit-Learn, Tensorflow, Django, Flask et Demandes, détaillant leurs utilisations dans le calcul scientifique, l'analyse des données, la visualisation, l'apprentissage automatique, le développement Web et H et H

Ce tutoriel s'appuie sur l'introduction précédente à la belle soupe, en se concentrant sur la manipulation de Dom au-delà de la simple navigation sur les arbres. Nous explorerons des méthodes et techniques de recherche efficaces pour modifier la structure HTML. Une méthode de recherche DOM commune est ex
