Heim > Backend-Entwicklung > Python-Tutorial > So verwenden Sie die Abhängigkeitsinjektion in FastAPI, um die gemeinsamen Abhängigkeiten Ihrer Anwendung zu verwalten

So verwenden Sie die Abhängigkeitsinjektion in FastAPI, um die gemeinsamen Abhängigkeiten Ihrer Anwendung zu verwalten

WBOY
Freigeben: 2023-07-31 12:15:26
Original
1337 Leute haben es durchsucht

So verwenden Sie die Abhängigkeitsinjektion in FastAPI, um die gemeinsamen Abhängigkeiten Ihrer Anwendung zu verwalten

Zitat:
Da Anwendungen weiter wachsen, wird die Verwaltung und Pflege gemeinsamer Abhängigkeiten zu einer Herausforderung. FastAPI bietet als leistungsstarkes Python-Webframework Abhängigkeitsinjektionsfunktionen, um den Anwendungsentwicklungs- und -wartungsprozess zu vereinfachen. In diesem Artikel wird erläutert, wie Sie die Abhängigkeitsinjektion in FastAPI verwenden, um die gemeinsamen Abhängigkeiten von Anwendungen zu verwalten, und relevante Codebeispiele bereitstellen.

1. Was ist Dependency Injection? (DI) ist ein Entwurfsmuster, dessen Hauptzweck darin besteht, Abhängigkeiten von einem Objekt an ein anderes weiterzugeben, um die Kopplungsbeziehung zwischen Objekten zu reduzieren. Bei der Abhängigkeitsinjektion werden Abhängigkeiten von einem externen Container erstellt und verwaltet, um eine Entkopplung zwischen Objekten zu erreichen.

2. Warum die Abhängigkeitsinjektion verwenden? Die Verwendung der Abhängigkeitsinjektion kann die folgenden Vorteile bringen:


Reduzierung der Kopplung des Codes: Durch die Übertragung von Abhängigkeiten aus dem Inneren der Klasse in den externen Container kann die Kopplung zwischen Klassen reduziert werden Code flexibler und wartbarer machen.
  1. Codetestbarkeit verbessern: Durch die Verwendung der Abhängigkeitsinjektion kann Code einfacher in Einheiten getestet werden, um seine Richtigkeit und Zuverlässigkeit zu überprüfen.
  2. Code-Wiederverwendbarkeit: Durch die gemeinsame Nutzung von Abhängigkeiten kann Code wiederverwendet werden und das Schreiben von doppeltem Code reduziert werden.
  3. 3. Schritte zur Verwendung der Abhängigkeitsinjektion zur Verwaltung gemeinsamer Abhängigkeiten
Im Folgenden werden die Schritte zur Verwendung der Abhängigkeitsinjektion zur Verwaltung gemeinsamer Abhängigkeiten in FastAPI vorgestellt:


Schritt 1: Erstellen Sie ein Abhängigkeitsobjekt

Zuerst müssen wir eine Abhängigkeit erstellen Objekt. Dieses Objekt wird innerhalb der Anwendung geteilt und wiederverwendet. Kann eine Klasse oder eine Funktion sein, solange sie als injizierbar definiert ist.

# app/dependencies.py

from fastapi import Depends

def get_db():
    db = SomeDatabaseConnection()
    yield db
    db.close()
Nach dem Login kopieren

Schritt 2: Das abhängige Objekt in der Anwendung verwenden

Als nächstes können wir dieses abhängige Objekt an einer beliebigen Stelle in der Anwendung verwenden. Indem wir es als Parameter an eine Funktion oder Methode übergeben, können wir FastAPI dieses Abhängigkeitsobjekt automatisch auflösen und einfügen lassen.

# app/main.py

from fastapi import Depends, FastAPI

app = FastAPI()

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

Schritt 3: Erstellen Sie einen Abhängigkeitscontainer

Wir müssen einen Abhängigkeitscontainer erstellen, um abhängige Objekte zu speichern und zu verwalten. FastAPI verwendet das Schlüsselwort Depends, um einen Abhängigkeitscontainer zu definieren.

# 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"}
Nach dem Login kopieren

Schritt 4: Verwenden Sie den Abhängigkeitscontainer in der RouteDepends关键字来定义一个依赖容器。

# 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"}
Nach dem Login kopieren

步骤四:在路由中使用依赖容器
将依赖容器作为参数传递给路由注册函数的dependenciesÜbergeben Sie den Abhängigkeitscontainer als Parameter an den Parameter dependencies der Routenregistrierungsfunktion, um FastAPI anzuweisen, ihn als Container für die Abhängigkeitsinjektion zu verwenden.

rrreee

Durch die oben genannten Schritte können wir die Abhängigkeitsinjektion in FastAPI verwenden, um die gemeinsamen Abhängigkeiten der Anwendung zu verwalten.

Fazit:
Abhängigkeitsinjektion ist ein leistungsstarkes Tool, das bei der Verwaltung und Aufrechterhaltung gemeinsamer Abhängigkeiten hilft. Die Verwendung der Abhängigkeitsinjektion in FastAPI kann zu höherer Codeflexibilität, Testbarkeit und Wiederverwendbarkeit führen. Mit der Einführung der oben genannten Schritte können Sie die Abhängigkeitsinjektion problemlos verwenden, um gemeinsame Abhängigkeiten in FastAPI-Anwendungen zu verwalten.

Das Obige ist eine Einführung und zugehörige Codebeispiele zur Verwendung der Abhängigkeitsinjektion in FastAPI, um die gemeinsamen Abhängigkeiten von Anwendungen zu verwalten. Ich hoffe, es wird Ihnen hilfreich sein. Wir wünschen Ihnen bessere Ergebnisse bei der Anwendungsentwicklung und -wartung!

Das obige ist der detaillierte Inhalt vonSo verwenden Sie die Abhängigkeitsinjektion in FastAPI, um die gemeinsamen Abhängigkeiten Ihrer Anwendung zu verwalten. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage