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 相同,包括它们的参数等等也完全相同。

posted @ 2024-06-26 13:17  yongheng999  阅读(78)  评论(0)    收藏  举报