Вопрос проверяет понимание механизма внедрения зависимостей в FastAPI и его отличия от других фреймворков.
FastAPI реализует внедрение зависимостей (DI) через механизм Depends(). Это позволяет автоматически создавать и передавать объекты в функции-обработчики, избавляя от ручного управления зависимостями.
from fastapi import FastAPI, Depends
app = FastAPI()
def get_db():
db = Database()
try:
yield db
finally:
db.close()
@app.get("/items")
async def read_items(db: Database = Depends(get_db)):
return db.get_items()Вывод: Dependency Injection в FastAPI через Depends() — это мощный инструмент для создания чистого, тестируемого и масштабируемого кода, особенно полезный в больших проектах с множеством зависимостей.