aidress/app/models/api_response.py
2025-03-21 23:22:54 +08:00

27 lines
955 B
Python

from typing import Any, Dict, List, Optional, Union, ClassVar
from pydantic import BaseModel, Field
from datetime import datetime
class APIResponseModel(BaseModel):
"""API响应基础模型"""
code: int = Field(200, description="业务状态码")
message: str = Field("操作成功", description="响应消息")
data: Optional[Any] = Field(None, description="响应数据")
class Config:
"""模型配置"""
arbitrary_types_allowed = True
json_encoders = {
datetime: lambda dt: dt.isoformat()
}
class PaginatedResponseModel(BaseModel):
"""分页响应模型"""
items: List[Any] = Field(..., description="数据项列表")
total: int = Field(..., description="总数据量")
page: int = Field(1, description="当前页码")
size: int = Field(10, description="每页数据量")
class Config:
"""模型配置"""
arbitrary_types_allowed = True