zoukankan      html  css  js  c++  java
  • 对django的Response进行封装

    # _*_coding:utf-8_*_
    from rest_framework.response import Response
    
    
    class ApiResponse(Response):
        msg_code = 1000
        code = 200
        msg = ""
    
        def __init__(self, data="", msg_code=None, msg=None, code=None):
            if msg_code:
                self.biz_code = msg_code
            if msg:
                self.msg = msg
            if code:
                self.code = code
            self.data = data
            super().__init__(data=self.get_body(), headers=self.headers, status=self.code)
    
        @property
        def headers(self):
            return {'Content-Type': 'application/json'}
    
        def get_body(self):
            body = dict(
                msg=self.msg,
                msg_code=self.msg_code,
                data=self.data,
            )
            return body
    
    
    class Success(ApiResponse):
        code = 201
        msg = "创建成功"
        msg_code = 1000
    
    
    class Response(ApiResponse):
        code = 200
        msg = "请求成功"
        error_code = 1001
    
    
    class ModifySuccess(ApiResponse):
        code = 201
        msg = "修改成功"
        msg_code = 1002
    
    
    class DeleteSuccess(ApiResponse):
        code = 202
        msg = "删除成功"
        msg_code = 1003
    
    
    class ParameterException(ApiResponse):
        code = 400
        msg = "请求参数异常"
        msg_code = 2001
    
    
    class ServerError(ApiResponse):
        code = 500
        msg = "服务器异常"
        msg_code = 3001
    
    
    class NotFound(ApiResponse):
        code = 404
        msg = '该资源未找到'
        msg_code = 2002
    
    
    class AuthFailed(ApiResponse):
        code = 401
        msg_code = 2003
        msg = '身份验证失败'
    
    
    class Forbidden(ApiResponse):
        code = 403
        msg_code = 2004
        msg = '禁止访问'
    
    
    
  • 相关阅读:
    【洛谷 1144】最短路计数
    【洛谷 1608】路径统计
    【洛谷 1491】集合位置
    【洛谷 3110】驮运 Piggy Back
    【洛谷 1734】最大约束和
    【洛谷 1910】L国的战斗之间谍
    【洛谷 1048】采药
    【洛谷 1186】玛丽卡
    GeoServer(地图服务器)
    git cherry-pick 教程
  • 原文地址:https://www.cnblogs.com/carp-li/p/13862561.html
Copyright © 2011-2022 走看看