Sobes.tech
Junior — Middle
95

FastAPI'de bağımlılıkların nasıl iletildiğini ve bunun neden gerekli olduğunu açıklayabilir misiniz?

Sorulan şirketler
30бит30бит

AI'dan gelen yanıt

sobes.tech yapay zeka

В FastAPI передача зависимостей реализуется через механизм Dependency Injection с помощью функции Depends. Это позволяет автоматически получать нужные объекты или данные в обработчиках запросов без явного создания или передачи их вручную.

Зачем это нужно:

  • Упрощает тестирование, так как зависимости можно легко заменять.
  • Повышает читаемость и повторное использование кода.
  • Позволяет централизованно управлять ресурсами, например, подключениями к базе данных.

Пример:

from fastapi import FastAPI, Depends

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

app = FastAPI()

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

Здесь get_db — зависимость, которая передается в обработчик read_items автоматически.