response.py 909 B

123456789101112131415161718192021222324252627282930313233
  1. # -*- coding:utf-8 -*-
  2. """
  3. @author: yq
  4. @time: 2023/12/29
  5. @desc:
  6. """
  7. import pydantic
  8. from pydantic import BaseModel
  9. class BaseResponse(BaseModel):
  10. data: object = pydantic.Field(None, description="request id")
  11. code: int = pydantic.Field(200, description="HTTP status code")
  12. msg: str = pydantic.Field("success", description="HTTP status message")
  13. success: bool = pydantic.Field(True, description="success status")
  14. class Config:
  15. schema_extra = {
  16. "example": {
  17. "data": None,
  18. "code": 200,
  19. "msg": "success",
  20. "success": True
  21. }
  22. }
  23. @staticmethod
  24. def ofSuccess(data: object):
  25. return BaseResponse(data=data, code=200, msg="success", success=True)
  26. @staticmethod
  27. def ofFailure(msg: str = "error"):
  28. return BaseResponse(data=None, code=500, msg=msg, success=False)