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 = '禁止访问'
    
    
    
  • 相关阅读:
    [PHP] PHP1 与 CGI
    [PHP] Phalcon操作示范
    [Shell] swoole_timer_tick 与 crontab 实现定时任务和监控
    [PHP] Phalcon应用升级PHP7记录
    [GNU] 喝一杯咖啡, 写一写 Makefile
    [PHP] Xhprof 非侵入式使用指南
    [PHP]OOP两类写法的性能对比
    [OSI] 网络间通信流程
    [OSI] 网络7层模型的理解
    [Tools] Vim 插件管理
  • 原文地址:https://www.cnblogs.com/carp-li/p/13862561.html
Copyright © 2011-2022 走看看