FastAPI — ASGI-фреймворк для API, использующий типовые аннотации для описания входных данных, валидации и документации. Dependency injection передаёт обработчикам нужные зависимости.
Что такое FastAPI и какая главная концепция в нём заложена? Расскажи про dependency injection.
FastAPI — ASGI-фреймворк для API, использующий типовые аннотации для описания входных данных, валидации и документации. Dependency injection передаёт обработчикам нужные зависимости.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
FastAPI — ASGI-фреймворк для API, использующий типовые аннотации для описания входных данных, валидации и документации. Dependency injection передаёт обработчикам нужные зависимости.
Через Depends объявляют получение сессии БД, пользователя или общего набора параметров. FastAPI разрешает граф зависимостей и подставляет результаты; зависимости можно переопределять в тестах.
Механизм помогает вынести повторяющуюся подготовку из endpoint, но не является автоматической архитектурой всего приложения. Нужно явно управлять временем жизни ресурсов и различать sync/async-функции. Аннотации становятся основой runtime-валидации через используемые фреймворком инструменты, а не за счёт магического исполнения обычных Python type hints.
Источник: fastapi.tiangolo.com.