【8.0】Fastapi响应模型

【一】自定义响应模型

【1】定义视图函数

from fastapi import APIRouter
from pydantic import BaseModel, EmailStr
from typing import Optional

app04 = APIRouter()


### 响应模型

# 定义基本类
class UserBase(BaseModel):
    # 定义字段 username : 用户名 类型为 str : 字符串
    username: str
    # 定义字段 email : 邮箱 类型为 EmailStr : 自动校验邮箱
    email: EmailStr
    # 定义字段 mobile : 手机号 类型为 str : 字符串
    mobile: str = "10086"
    # 定义字段 full_name : 手机号 类型为 Optional[str] : 可选填参数 ,字符串类型
    full_name: Optional[str] = None


# 定义用户登录类
class UserIn(UserBase):
    # 登陆需要校验密码
    # 定义字段 password : 密码 类型为 str : 字符串
    password: str


# 定义用户响应信息类
class UserOut(UserBase):
    # 返回信息 不需要将用户的密码作为响应数据返回
    ...


# 新建两个用户
users = {
    "user01": {"username": "user01", "password": "123123", "email": "user01@example.com"},
    "user02": {"username": "user02", "password": "123456", "email": "user02@example.com", "mobile": "110"}
}

# response_model : 默认响应数据模型
# response_model_exclude_unset : 只使用前端传过来的值,而不使用默认值(mobile: str = "10086" ---> 不使用10086 而是使用前端传入的数据/函数中赋值)
@app04.post('/response_model', response_model=UserOut, response_model_exclude_unset=True)
async def response_model(user: Use
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值