目录

一、路径传参

二、查询传参

三、请求体传参


一、路径传参

@router.get("/get_list/{user_id}", summary="菜单列表", tags=['菜单'])
async def get_list(user_id):
    return {'user_id': user_id}

二、查询传参

@router.get("/get_list", summary="菜单列表", tags=['菜单'])
async def get_list(user_id: int, page: int = 1, size: int = 10):
    
    return {'user_id': user_id}

三、请求体传参

from pydantic import BaseModel

class Item(BaseModel):
    username: str
    password: str


@router.post("/login", summary="用户登录", tags=['用户'])
async def login(item: Item):
    return {'message': '登录成功'}

一般我们会将用于接收参数的BaseModel单独放置到一个文件中:

在user文件夹下新建schemas文件夹,并在文件夹下新建user_schemas.py内容如下:

from pydantic import BaseModel


class Item(BaseModel):
    username: str
    password: str

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐