Maison >développement back-end >Tutoriel Python >Comment utiliser l'injection de dépendances dans FastAPI pour gérer les dépendances partagées de votre application

Comment utiliser l'injection de dépendances dans FastAPI pour gérer les dépendances partagées de votre application

WBOY
WBOYoriginal
2023-07-31 12:15:261334parcourir

Comment utiliser l'injection de dépendances dans FastAPI pour gérer les dépendances partagées de votre application

Citation :
À mesure que les applications continuent de croître, la gestion et la maintenance des dépendances partagées deviennent un défi. FastAPI, en tant que framework Web Python hautes performances, fournit des fonctions d'injection de dépendances pour simplifier le processus de développement et de maintenance des applications. Cet article expliquera comment utiliser l'injection de dépendances dans FastAPI pour gérer les dépendances partagées des applications et fournira des exemples de code pertinents.

1. Qu'est-ce que l'injection de dépendances ? L'injection de dépendances (DI) est un modèle de conception dont l'objectif principal est de transmettre des dépendances d'un objet à un autre pour réduire la relation de couplage entre les objets. Dans l'injection de dépendances, les dépendances sont créées et gérées par un conteneur externe pour réaliser le découplage entre les objets.

2. Pourquoi utiliser l'injection de dépendances

L'utilisation de l'injection de dépendances peut apporter les avantages suivants :

    Réduire le couplage du code : en transférant les dépendances de l'intérieur de la classe vers le conteneur externe, le couplage entre les classes peut être réduit. code plus flexible et maintenable.
  1. Améliorez la testabilité du code : en utilisant l'injection de dépendances, le code peut être plus facilement testé unitairement afin de vérifier son exactitude et sa fiabilité.
  2. Réutilisabilité du code : en partageant les dépendances, le code peut être réutilisé et l'écriture de code en double peut être réduite.
3. Étapes pour utiliser l'injection de dépendances pour gérer les dépendances partagées

Ce qui suit présente les étapes pour utiliser l'injection de dépendances pour gérer les dépendances partagées dans FastAPI :

Étape 1 : Créer un objet de dépendance

Tout d'abord, nous devons créer une dépendance. object. Cet objet sera partagé et réutilisé au sein de l’application. Peut être une classe ou une fonction, à condition qu'elle soit définie comme injectable.

# app/dependencies.py

from fastapi import Depends

def get_db():
    db = SomeDatabaseConnection()
    yield db
    db.close()

Étape 2 : Utiliser l'objet dépendant dans l'application

Ensuite, nous pouvons utiliser cet objet dépendant n'importe où dans l'application. En le passant en paramètre à une fonction ou une méthode, nous pouvons laisser FastAPI résoudre et injecter automatiquement cet objet de dépendance.

# app/main.py

from fastapi import Depends, FastAPI

app = FastAPI()

@app.get("/")
def root(db=Depends(get_db)):
    # 使用依赖对象进行操作
    db.query()
    return {"message": "Hello World"}

Étape 3 : Créer un conteneur de dépendances

Nous devons créer un conteneur de dépendances pour stocker et gérer les objets dépendants. FastAPI utilise le mot-clé Depends pour définir un conteneur de dépendances.

# app/main.py

from fastapi import Depends, FastAPI

app = FastAPI()

# 创建依赖容器
dependencies = Depends(get_db)

@app.get("/")
def root(db=dependencies):
    db.query()
    return {"message": "Hello World"}
Depends关键字来定义一个依赖容器。

# app/main.py

from fastapi import Depends, FastAPI

app = FastAPI()

dependencies = Depends(get_db)

@app.get("/", dependencies=dependencies)
def root(db):
    db.query()
    return {"message": "Hello World"}

步骤四:在路由中使用依赖容器
将依赖容器作为参数传递给路由注册函数的dependenciesÉtape 4 : Utilisez le conteneur de dépendances dans la route

Passez le conteneur de dépendances en tant que paramètre au paramètre dependencies de la fonction d'enregistrement de route pour indiquer à FastAPI de l'utiliser comme conteneur pour l'injection de dépendances.

rrreee

Grâce aux étapes ci-dessus, nous pouvons utiliser l'injection de dépendances dans FastAPI pour gérer les dépendances partagées de l'application.


Conclusion : 

L'injection de dépendances est un outil puissant qui permet de gérer et de maintenir les dépendances partagées. L’utilisation de l’injection de dépendances dans FastAPI peut apporter une plus grande flexibilité, testabilité et réutilisabilité du code. Avec l'introduction des étapes ci-dessus, vous pouvez facilement utiliser l'injection de dépendances pour gérer les dépendances partagées dans les applications FastAPI.

Ce qui précède est une introduction et des exemples de code associés sur l'utilisation de l'injection de dépendances dans FastAPI pour gérer les dépendances partagées des applications. J'espère que cela vous sera utile. Je vous souhaite de meilleurs résultats dans le développement et la maintenance d'applications ! 🎜

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