1

文档和其他地方我见过Body使用但不知道它是什么。

有人可以解释这三个选项的含义吗?

from fastapi import Body
from pydantic import BaseModel

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

1 回答 1

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/

于 2019-07-11T20:21:43.383 回答