Sobes.tech
Junior — Middle

Ποιος είναι ο ρόλος της εισαγωγής εξαρτήσεων στο FastAPI και γιατί είναι απαραίτητη;

sobes.tech AI

Απάντηση από AI

Η εισαγωγή εξαρτήσεων (Dependency Injection, DI) στο FastAPI χρησιμοποιείται για τη διαχείριση των εξαρτήσεων μεταξύ των συστατικών της εφαρμογής, για παράδειγμα, για σύνδεση με τη βάση δεδομένων, λήψη του τρέχοντος χρήστη, ρύθμιση της προσωρινής μνήμης κ.λπ. Αυτό επιτρέπει:

  • Να εξαλειφθεί η αυστηρή σύνδεση μεταξύ των συστατικών.
  • Να βελτιωθεί η δοκιμαστικότητα του κώδικα, καθώς οι εξαρτήσεις μπορούν εύκολα να αντικατασταθούν.
  • Να διαχειρίζεται κεντρικά η δημιουργία και ο κύκλος ζωής των αντικειμένων.

Το FastAPI υλοποιεί DI μέσω της παραμετροποίησης των λειτουργιών χειρισμού με Depends. Για παράδειγμα:

from fastapi import FastAPI, Depends

def get_db():
    db = create_db_session()
    try:
        yield db
    finally:
        db.close()

app = FastAPI()

@app.get("/items/")
def read_items(db=Depends(get_db)):
    items = db.query(Item).all()
    return items

Εδώ, το get_db είναι μια εξάρτηση που ενσωματώνεται αυτόματα στον χειριστή. Αυτό απλοποιεί τη διαχείριση πόρων και αυξάνει τη modularity της εφαρμογής.