Если не использовать Depends, можно ли ещё как-то реализовать централизованную проверку в FastAPI?

Да: общую HTTP-проверку можно вынести в middleware или пользовательский APIRoute. Выбор зависит от того, нужна ли проверка всему приложению, группе маршрутов или только конкретной операции.

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

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

Да: общую HTTP-проверку можно вынести в middleware или пользовательский APIRoute. Выбор зависит от того, нужна ли проверка всему приложению, группе маршрутов или только конкретной операции.

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

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

Да: общую HTTP-проверку можно вынести в middleware или пользовательский APIRoute. Выбор зависит от того, нужна ли проверка всему приложению, группе маршрутов или только конкретной операции.

Middleware удобно для корреляции, общих заголовков и ранних проверок, но оно не заменяет проверку прав на конкретный ресурс. APIRoute позволяет обернуть обработку определённого набора маршрутов. Встроенная система dependencies часто лучше подходит для декларативной авторизации и тестирования. Не стоит дублировать проверку в каждом endpoint или считать скрытие кнопки защитой. Middleware должно корректно возвращать HTTP-ответ при отказе и не блокировать event loop.

Источник: fastapi.tiangolo.com.

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

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

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

Подробнее