Карточка Junior FastAPI и Pydantic спрашивают часто обновлено
Откуда FastAPI берёт параметры
Вопрос
Как FastAPI понимает, откуда брать параметр обработчика?
Попробуйте сами
Ответьте про себя или вслух, потом откройте ответ и сверьтесь.
Показать ответ и разбор
Коротко
Если имя есть в пути (/users/{userid}), это параметр пути. Простые типы (int, str, bool, списки через Query) идут из query-строки.
Ответ
Если имя есть в пути (/users/{user_id}), это параметр пути. Простые типы (int, str, bool, списки через Query) идут из query-строки. Pydantic-модель берётся из тела JSON. Явно задают через Path, Query, Body, Header, Cookie, Form, File.
Разбор
Всё это попадает в OpenAPI-схему, по которой строится /docs.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.
Ещё по теме «FastAPI и Pydantic»
- Откуда в FastAPI ответ 422
- Annotated в параметрах FastAPI
- BackgroundTasks или очередь задач
- httpx.AsyncClient на каждый запрос
- Разбор и проверка query-параметров
- Граф зависимостей с кешем на запрос
- Подмена зависимостей в тестах
- Сколько раз вызывается зависимость