二次封裝Response类

from rest_framework.response import Response

class APIResponse(Response):
    def __init__(self, data_status=0, data_msg='ok', results=None, http_status=None, headers=None, exception=False, **kwargs):
        '''
        :param data_status: 状态码
        :param msg: 提醒信息
        :param results: 额外信息,如实例化获得的数据
        :param headers:
        :param status: HTTP状态码
        :param kwargs: 别的信息
        '''
        # data的最初的状态:状态码与情况信息
        data = {
            'status': data_status,
            'msg': data_msg,
        }
        # data的回应数据体
        # results可能是False、0等数据,这种数据一些状况下也会做为合理合法数据返回
        if results is not None:
            data['results'] = results
        # data回应的别的內容
        # if kwargs is not None:
        #     for k, v in kwargs.items():
        #         setattr(data, k, v)
        data.update(kwargs)

        super().__init__(data=data, status=http_status, headers=headers, exception=exception)   #调用父类Response的__init__方式
# 应用:
# APIResponse() 代表就返回 {"status": 0, "msg": "ok"}

# APIResponse(result="結果") 代表返回 {"status": 0, "msg": "ok", "result": "結果"}

# APIResponse(status=1, msg='error', http_status=400, exception=True) 出现异常返回 {"status": 1, "msg": "error"}
文章来源于网络 ,如有侵权请联系站长QQ61910465删除
本文版权归趣快排营销www.seoguRubloG.com 所有,如有转发请注明来出,竞价开户托管,seo优化请联系✚Qq61910465