Junior — Middle
75
Wie implementiert man das Prinzip der Dependency Inversion in FastAPI?
Unternehmen wurden gefragt
СБЕР Бизнес
Antwort von AI
sobes.tech KI
В 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. Таким образом, логика работы с базой данных отделена от основного кода маршрута, что соответствует принципу инверсии зависимостей.