Maison  >  Article  >  développement back-end  >  Comment implémenter la validation et le nettoyage des données demandées dans FastAPI

Comment implémenter la validation et le nettoyage des données demandées dans FastAPI

WBOY
WBOYoriginal
2023-07-28 21:15:211354parcourir

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!

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