Встречается на собеседованиях • сегодня
Как работает dependency injection в FastAPI
FastAPI использует встроенную систему dependency injection для управления зависимостями, упрощая тестирование и переиспользование кода. Зависимости объявляются через декоратор @app.dependency или напрямую в параметрах маршрута.
Пример:
python
from fastapi import FastAPI, Depends
app = FastAPI()
def get_db():
db = "fake_db_connection"
yield db
@app.get("/items/")
def read_items(db: str = Depends(get_db)):
return {"db": db}
text
Ключевые моменты:
1. `Depends` указывает FastAPI, что параметр зависит от другой функции
2. Зависимости могут быть функциями или классами
3. Поддерживаются асинхронные зависимости
4. Можно создавать иерархии зависимостей
5. FastAPI автоматически разрешает зависимости при каждом запросе
Особенности:
- Зависимости кэшируются в рамках одного запроса
- Поддерживается переопределение зависимостей для тестирования
- Можно использовать в маршрутах, фоновых задачах и других зависимостях
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы