Встречается на собеседованиях • сегодня

Был ли опыт работы с зависимостью Depends и механизм dependency injection в FastAPI

FastAPI использует механизм dependency injection через Depends для внедрения зависимостей в маршруты. Это мощный инструмент для повторного использования кода, управления состоянием и тестирования.

Пример:

python
from fastapi import FastAPI, Depends

app = FastAPI()

def get_db():
db = "database_connection"
try:
yield db
finally:
print("Close connection")

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

text

**Ключевые моменты:**  
- `Depends` автоматически вызывает функцию/зависимость и передает результат в маршрут.  
- Поддерживает генераторы (`yield`) для управления ресурсами (например, сессии БД).  
- Можно вкладывать зависимости друг в друга.  
- Интегрируется с `FastAPI` для валидации, безопасности (OAuth2) и других сценариев.  

Использовал для аутентификации, доступа к БД и кастомных проверок.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы