cool.views.response 源代码

# encoding: utf-8

from rest_framework.response import Response

from cool.settings import cool_settings
from cool.views.error_code import ErrorCode


def get_response_dict(*, code, message, data, success_with_code_msg, **kwargs):
    if not success_with_code_msg and code == ErrorCode.SUCCESS:
        return data
    else:
        return {
            cool_settings.API_DEFAULT_CODE_KEY: code,
            cool_settings.API_DEFAULT_MESSAGE_KEY: message,
            cool_settings.API_DEFAULT_DATA_KEY: data,
        }


[文档]class ResponseData: """ 返回数据包装 """ def __init__(self, data, code=ErrorCode.SUCCESS, message=None, status_code=200, success_with_code_msg=cool_settings.API_SUCCESS_WITH_CODE_MSG): self.code = code self.message = message self.data = data self.status_code = status_code self.success_with_code_msg = success_with_code_msg if isinstance(code, ErrorCode): self.code = code.code if self.message is None: self.message = code.desc def get_response_data(self): func = cool_settings.API_RESPONSE_DICT_FUNCTION return func( code=self.code, message=self.message, data=self.data, success_with_code_msg=self.success_with_code_msg, status_code=self.status_code, response_data=self ) def get_response(self): return Response(data=self.get_response_data(), status=self.status_code)