@@ -20,14 +20,15 @@ class RespType(TypedDict):
2020 detail : Any
2121
2222
23- def gen_response (code : int , message : str = '' , detail : Optional [str ] = None ) \
24- -> RespType :
23+ def gen_response (code : int , message : str = '' , detail : Optional [str ] = None ,
24+ data = None ) -> RespType :
2525 """Func for generate response body.
2626
2727 Args:
2828 code (string, int): Extension to interact with web pages. Default is \
2929 http response ``status_code`` like 200、404.
3030 message (string): For popup windows.
31+ data (object): Real response payload.
3132 detail (object): For debug, detail server error msg.
3233
3334 Returns:
@@ -37,6 +38,7 @@ def gen_response(code: int, message: str = '', detail: Optional[str] = None) \
3738 return {
3839 'code' : str (code ),
3940 'message' : message or RESP_MSGS .get (code , '未知错误' ), # type: ignore
41+ 'data' : data ,
4042 'detail' : detail ,
4143 }
4244
@@ -49,8 +51,9 @@ class Result(Response):
4951 def __init__ (self , response = None , status = None , headers = None ,
5052 mimetype = 'application/json' , content_type = None ,
5153 direct_passthrough = False ):
52- assert sorted (response .keys ()) == ['code' , 'detail' , 'message' ], \
53- 'Error response, must include keys: code, detail, message'
54+ assert sorted (response .keys ()) == [
55+ 'code' , 'data' , 'detail' , 'message' ], \
56+ 'Error response, must include keys: code, data, detail, message'
5457 super (Result , self ).__init__ (
5558 response = dumps (response , indent = 0 , separators = (',' , ':' )) + '\n ' ,
5659 status = status or self .status , headers = headers , mimetype = mimetype ,
@@ -63,9 +66,9 @@ class SuccessResult(Result):
6366 status = 200
6467
6568 def __init__ (self , message : str = '' , code : Optional [int ] = None ,
66- detail : Any = None , status : Optional [int ] = None ):
69+ detail : Any = None , status : Optional [int ] = None , data = None ):
6770 super (SuccessResult , self ).__init__ (
68- gen_response (code or self .status , message , detail ),
71+ gen_response (code or self .status , message , detail , data ),
6972 status or self .status )
7073
7174
0 commit comments