from typing import Any, Generic, Optional, TypeVar from pydantic import BaseModel, Field # from pydantic.generics import GenericModel T = TypeVar('T') class StandardResponse(BaseModel, Generic[T]): """标准API响应格式""" code: int = 200 message: Optional[str] = None data: Optional[T] = None class Config: json_schema_extra = { "example": { "code": 200, "message": None, "data": {} } } class ErrorResponse(BaseModel): """错误响应格式""" code: int = 500 message: str data: None = None class Config: json_schema_extra = { "example": { "code": 500, "message": "业务处理错误", "data": None } }