在documentation和其他地方,我曾经见过Body
,但不知道它是什么。
有人可以解释这三个选项的含义吗?
from fastapi import Body
from pydantic import BaseModel
class MyModel(BaseModel):
body1: None
body2: Body(None)
body3: Body(...)
答案 0 :(得分:1)
使用Pydantic模型时,无需使用Body
。
您可以写:
from pydantic import BaseModel, Schema
class MyModel(BaseModel):
body1: None
body2: Schema(None)
body3: Schema(...)
当您需要强制FastAPI了解该参数作为主体的一部分被接收时(例如,而不是查询参数), Body
仅用于 path operation 参数。使用“单一”类型(单个值,例如Body
,int
)的参数时,只需显式使用str
。如果使用Pydantic模型,列表或类似类型的东西,则无需显式使用Body
。
如果需要,您还可以使用Body
添加额外的元数据。像标题,示例等。
在文档中阅读有关此内容的更多信息:https://fastapi.tiangolo.com/tutorial/body/