flask 自定义错误类型

1kesou

关注

阅读 129

2022-03-12

做前后端分离全栈项目,前端必然要对路由进行封装、拦截等,而本人使用的又是阿里云fc的HTTP触发器,无法使用任意的状态码标识错误,因此需要基于HTTPException类自定义错误类,固定所有错误的响应码都是200,自定义响应体结构,便于前端封装。

class BaseError(HTTPException):
    code = 200

    def __init__(self, code=500, msg="error", content=None):
        if content is None:
            content = {}
        self.response = make_response(
            dict(code=code, msg=msg, content=content)
        )

注意:自定义异常的响应结构应和正常响应保持一致,一般的,REST-API都是json格式响应,因此可以加一个after_request函数,为所有响应添加响应头: Content-Type: application/json

精彩评论(0)

0 0 举报