Что такое тело? `от Фастапи Импорт Боди`

В документации и в других местах я видел Body использовал, но не знаю, что это такое.

Может кто-нибудь объяснить, что означают эти три варианта?

from fastapi import Body
from pydantic import BaseModel

class MyModel(BaseModel):
    body1: None
    body2: Body(None)
    body3: Body(...)

1 ответ

Решение

Когда вы используете модель Pydantic, вам не нужно использовать Body,

Вы могли бы написать:

from pydantic import BaseModel, Schema

class MyModel(BaseModel):
    body1: None
    body2: Schema(None)
    body3: Schema(...)

Body используется только в параметрах операции пути, когда вам нужно заставить FastAPI понимать, что параметр принимается как часть тела (например, вместо параметра запроса). Вам нужно только использовать Body явно при использовании параметров "единичных" типов (одного значения, например int, str). Если вы используете модель Pydantic, список или что-то подобное в качестве типа, вам не нужно использовать Body в явном виде.

Вы также можете использовать Body добавить дополнительные метаданные, если вам нужно. Как заголовок, примеры и т. Д.

Узнайте больше об этом здесь в документации: https://fastapi.tiangolo.com/tutorial/body/

Другие вопросы по тегам