Dans FastAPI, vous pouvez rencontrer des scénarios dans lesquels l'initialisation d'objets ou de variables globaux dans chaque point de terminaison peut être gourmand en ressources. Les connexions à des services externes ou les calculs complexes en sont des exemples classiques. Cet article propose deux options pour initialiser et réutiliser efficacement les ressources globales dans les points de terminaison FastAPI.
FastAPI vous permet de stocker des objets personnalisés dans l'attribut app.state du Instance d'application FastAPI. Cet attribut est accessible à l'aide de la propriété request.app.state dans les fonctions de point de terminaison. En initialisant l'objet global dans un événement de démarrage ou une fonction de durée de vie et en l'ajoutant à app.state, tous les points de terminaison peuvent accéder et réutiliser l'objet sans avoir besoin de plusieurs initialisations.
Le framework Starlette fournit un gestionnaire de durée de vie qui vous permet d'exécuter du code avant et après le démarrage et l'arrêt de l'application. Vous pouvez instancier l'objet global dans le gestionnaire de durée de vie et l'ajouter au dictionnaire d'état de durée de vie. En utilisant request.state dans les fonctions de point de terminaison, vous pouvez accéder et réutiliser l'objet dans les points de terminaison.
Les deux options fournissent des mécanismes efficaces pour initialiser et réutiliser des objets globaux dans FastAPI. Le choix dépend des exigences spécifiques et des préférences de votre application.
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!