Junior — Middle
79
¿Cómo implementar el principio de inversión de dependencias en FastAPI?
Empresas donde se preguntó
СБЕР Бизнес
Respuesta de la IA
sobes.tech AI
В 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. Таким образом, логика работы с базой данных отделена от основного кода маршрута, что соответствует принципу инверсии зависимостей.