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.
L'utilisation de l'injection de dépendances peut apporter les avantages suivants :
Ce qui suit présente les étapes pour utiliser l'injection de dépendances pour gérer les dépendances partagées dans FastAPI :
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()
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"}
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
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 :
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!