Запрос проходит через middleware к роутингу, затем обработчик FastAPI разбирает вход и разрешает dependencies с валидацией параметров, после чего вызывает endpoint. Ответ идёт обратно через middleware.
В каком порядке FastAPI вызывает middleware, роутинг, dependency injection и валидацию схемы?
Запрос проходит через middleware к роутингу, затем обработчик FastAPI разбирает вход и разрешает dependencies с валидацией параметров, после чего вызывает endpoint. Ответ идёт обратно через middleware.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Запрос проходит через middleware к роутингу, затем обработчик FastAPI разбирает вход и разрешает dependencies с валидацией параметров, после чего вызывает endpoint. Ответ идёт обратно через middleware.
Dependency injection и валидация не являются двумя полностью независимыми последовательными фазами: параметры зависимостей тоже валидируются при обходе графа. Ошибка разбора JSON может возникнуть до выполнения зависимостей. После endpoint возможны сериализация и проверка response model. Точный порядок middleware зависит от регистрации и обёрток приложения.
Источник: github.com.