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