Пропуски Junior FastAPI и Pydantic обновлено

Эндпоинт FastAPI с моделью и зависимостью

Вопрос

Допишите эндпоинт создания заметки: тело валидируется моделью, текущий пользователь приходит из зависимости, ответ фильтруется моделью NoteOut.

class NoteIn(__(1)__):
    text: str

@app.post('/notes', __(2)__=NoteOut, status_code=201)
async def create_note(data: NoteIn, user: User = __(3)__(current_user)):
    return await notes.create(user.id, data.text)

Попробуйте сами

Заполните пропуски по номерам.

1
2
3
Показать ответ и разбор

Коротко

Модели запроса наследуются от pydantic.BaseModel, responsemodel задаёт схему ответа, Depends подключает зависимость. Современный эквивалент последней строки: user: Annotated[User, Depends(currentuser)].

Что в пропусках

1

BaseModel

2

response_model

3

Depends

Разбор

Модели запроса наследуются от pydantic.BaseModel, response_model задаёт схему ответа, Depends подключает зависимость. Современный эквивалент последней строки: user: Annotated[User, Depends(current_user)].

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.