> Что такое Depends в FastAPI и для чего он нужен (Python)

Уровень: junior · Роль: backend · Язык: Python · Категория: Технические вопросы

Компании: АО НПФ Будущее, Т1

Стек: Python

> Пример ответа

Depends в FastAPI - это механизм внедрения зависимостей (Dependency Injection). Он позволяет вынести общую логику (например, проверку авторизации, получение сессии базы данных, валидацию параметров) в отдельные функции и повторно использовать их в разных эндпоинтах.

Основная цель Depends - сделать код чище, избежать дублирования и упростить тестирование. Например, вместо того чтобы в каждом обработчике писать код получения текущего пользователя из токена, вы создаёте функцию get_current_user, которая принимает token: str = Depends(oauth2_scheme) и возвращает пользователя. Затем в эндпоинте пишете user: User = Depends(get_current_user), и FastAPI автоматически вызовет эту функцию, передав ей необходимые зависимости.

Depends также поддерживает вложенность: одна зависимость может зависеть от другой, и FastAPI построит граф зависимостей, разрешив их в правильном порядке. Это особенно удобно для работы с базами данных (например, get_db возвращает сессию, а get_user использует её через Depends).

> ГОТОВЫ К СЛЕДУЮЩЕМУ СОБЕСЕДОВАНИЮ?

Запустите тренировочную сессию с ИИ и получите детальную обратную связь, чтобы увереннее проходить реальные интервью