Sobes.tech
Junior — Middle
77

FastAPI'de bağımlılıkların tersine çevrilmesi ilkesini nasıl uygularsınız?

Sorulan şirketler
СБЕР Бизнес

AI'dan gelen yanıt

sobes.tech yapay zeka

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

Пример:

from fastapi import FastAPI, Depends

app = FastAPI()

def get_db():
    db = "Подключение к базе данных"
    try:
        yield db
    finally:
        print("Закрытие подключения")

@app.get("/items/")
async def read_items(db=Depends(get_db)):
    return {"db_connection": db}

Здесь get_db — зависимость, которая инжектируется в обработчик read_items. Таким образом, логика работы с базой данных отделена от основного кода маршрута, что соответствует принципу инверсии зависимостей.