diff --git a/src/dtos/example.py b/src/dtos/example.py index 4cb6a47..e1beb74 100644 --- a/src/dtos/example.py +++ b/src/dtos/example.py @@ -1,26 +1,25 @@ -from typing import List +from typing import List, Optional from pydantic import Field from src.dtos import BaseModel, BaseResponse, ListResponse, PageItemModel -class UserDto(BaseModel): - id: int = Field(None, alias='id', description='id') - userName: str = Field(None, description='用户名') +class UserExampleDto(BaseModel): + """用户示例类""" + id: int # 表示字段必需 + # Field 第一个参数:...代表字段必需 None代表字段可选,alias:表示返回最终的字段名,description: 文档描述 + userName: str = Field(..., alias="user_name", description='用户名') + email: str = Field(None, description="用户email") + age: Optional[int] # Optional 代表字段可选 - class Config: - orm_mode = True - allow_population_by_field_name = True +class UserExampleListPagesItem(PageItemModel): + items: List[UserExampleDto] -class UserListPagesItem(PageItemModel): - items: List[UserDto] +class UserExampleListPagesResult(ListResponse): + result: UserExampleListPagesItem -class UserListPagesResult(ListResponse): - result: UserListPagesItem - - -class UserListResult(BaseResponse): - result: List[UserDto] \ No newline at end of file +class UserExampleListResult(BaseResponse): + result: List[UserExampleDto] \ No newline at end of file