response.py 887 B

1234567891011121314151617181920212223242526272829303132
  1. from fastapi import status
  2. from fastapi.responses import JSONResponse, Response, ORJSONResponse # , ORJSONResponse
  3. from typing import Union
  4. from datetime import datetime
  5. from json import JSONEncoder
  6. SUCCESS_CODE = 200
  7. SUCCESS_MESSAGE = "Operation successful"
  8. # 注意有个 * 号 不是笔误, 意思是调用的时候要指定参数 e.g.resp_200(data=xxxx)
  9. def resp_200(*, data: Union[list, dict, str]) -> Response:
  10. return ORJSONResponse(
  11. status_code=status.HTTP_200_OK,
  12. content={
  13. 'code': 200,
  14. 'message': SUCCESS_MESSAGE,
  15. 'data': data,
  16. }
  17. )
  18. def resp_400(*, data: str = None, message: str="BAD REQUEST") -> Response:
  19. return ORJSONResponse(
  20. status_code=status.HTTP_200_OK,
  21. content={
  22. 'code': 400,
  23. 'message': message,
  24. 'data': data,
  25. }
  26. )