FastAPI中请求体传参
请求体传参
当你需要将数据从客户端(例如浏览器)发送给API时,你将其作为[请求体] (request body)发送,请求体
是客户端发送给API的数据.响应体是API发送给客户端的数据。
class Addr(BaseModel): province: str city: str class User(BaseModel): # name: str = Field(regex="^a") # name参数值必须是a开头 name: str age: int = Field(default=0, ge=0, lt=100) # age参数给默认值0,数值区间范围约束为 birth: Union[date, None] = None # birth约束类型为date或者None,默认值为None friends: List[int] = [] # friends给默认值为[] description: Optional[str] = None # description约束类型为str或者None,默认值为N
addr: Addr # 嵌套类型
@field_validator("name") # 校验name字段
def name_must_alpha(cls, value):
assert value.isalpha(), 'name must be alpha'
# 断言语句,检查value是否全部由字母组成,如果value的值不满足条件则引发AssertionEr
# 并且异常错误消息是:"name must be alpha"
return value
@app.post("/data")
async def data(user: User):
print(user.name, user.age)
return user
注意: Field 的工作方式和 Query 、Path 和 Body 相同,包括它们的参数等等也完全相同。

浙公网安备 33010602011771号