用Response自定义APIExceition

来源:4-9 自定义APIException

水瓶座妙妙

2018-07-17

class AdvanceException(HTTPException):
    code = 500
    msg = ''

    def __init__(self, code, msg):
        self.code = code
        self.msg = msg
        super().__init__(response=self.__make_response())

    def __make_response(self):
        r = {
            'code': self.code,
            'msg': self.msg
        }
        response = Response(json.dumps(r), mimetype='application/json')
        return response

受老师讲解启发,我读了HTTPException源码后,发现除了可以重写get_headers()和get_body()之外,也能传入一个response,当这个response不为none时,HTTPException的构造函数会忽略get_headers()和get_body(),直接返回这个response,因此我用这个方法实现了自己的APIException,实测貌似没什么问题,老师能帮我看看这种方法可以么?

写回答

1回答

7七月

2018-07-17

这个不好说啊。理论上是可以的,还需要实践检验

0
0

Python Flask高级编程之RESTFul API前后端分离精讲

RESTFul+权限管理+token令牌+扩展flask=提升编程思维

2052 学习 · 359 问题

查看课程