В каком порядке FastAPI вызывает middleware, роутинг, dependency injection и валидацию схемы?

Запрос проходит через middleware к роутингу, затем обработчик FastAPI разбирает вход и разрешает dependencies с валидацией параметров, после чего вызывает endpoint. Ответ идёт обратно через middleware.

Короткий ответ

Что ответить на собеседовании

Запрос проходит через middleware к роутингу, затем обработчик FastAPI разбирает вход и разрешает dependencies с валидацией параметров, после чего вызывает endpoint. Ответ идёт обратно через middleware.

Подробный разбор

Ответ с пояснениями

Запрос проходит через middleware к роутингу, затем обработчик FastAPI разбирает вход и разрешает dependencies с валидацией параметров, после чего вызывает endpoint. Ответ идёт обратно через middleware.

Dependency injection и валидация не являются двумя полностью независимыми последовательными фазами: параметры зависимостей тоже валидируются при обходе графа. Ошибка разбора JSON может возникнуть до выполнения зависимостей. После endpoint возможны сериализация и проверка response model. Точный порядок middleware зависит от регистрации и обёрток приложения.

Источник: github.com.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее