Files
2026-04-22 17:07:33 +08:00

26 lines
551 B
Python

from typing import Generic, TypeVar, Optional, List
from pydantic import BaseModel, Field
T = TypeVar("T")
class ResponseModel(BaseModel, Generic[T]):
code: int = 200
message: str = "success"
data: Optional[T] = None
class ListResponse(BaseModel, Generic[T]):
code: int = 200
message: str = "success"
data: List[T] = []
total: int = 0
page: int = 1
page_size: int = 20
class PageParams(BaseModel):
page: int = Field(1, ge=1)
page_size: int = Field(20, ge=1, le=500)
keyword: Optional[str] = None