Да: общую HTTP-проверку можно вынести в middleware или пользовательский APIRoute. Выбор зависит от того, нужна ли проверка всему приложению, группе маршрутов или только конкретной операции.
Если не использовать Depends, можно ли ещё как-то реализовать централизованную проверку в FastAPI?
Да: общую HTTP-проверку можно вынести в middleware или пользовательский APIRoute. Выбор зависит от того, нужна ли проверка всему приложению, группе маршрутов или только конкретной операции.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Да: общую HTTP-проверку можно вынести в middleware или пользовательский APIRoute. Выбор зависит от того, нужна ли проверка всему приложению, группе маршрутов или только конкретной операции.
Middleware удобно для корреляции, общих заголовков и ранних проверок, но оно не заменяет проверку прав на конкретный ресурс. APIRoute позволяет обернуть обработку определённого набора маршрутов. Встроенная система dependencies часто лучше подходит для декларативной авторизации и тестирования. Не стоит дублировать проверку в каждом endpoint или считать скрытие кнопки защитой. Middleware должно корректно возвращать HTTP-ответ при отказе и не блокировать event loop.
Источник: fastapi.tiangolo.com.