You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何自定义Flask REST API响应格式与flask-restx框架报错信息

解决方案

你可以通过为flask-restx的Api实例注册全局错误处理器,统一修改所有错误响应的格式,操作步骤如下:

步骤1:注册全局错误处理器

在你初始化Api对象的位置添加自定义错误处理逻辑,覆盖默认的错误返回规则:

from flask_restx import Api

# 替换为你自己初始化Api实例的代码
api = Api(
    title='你的API文档标题',
    version='1.0',
    description='API功能描述'
)

# 全局错误处理器,捕获所有HTTP异常
@api.errorhandler
def format_error_response(e):
    # 提取异常的状态码,默认赋值500
    code = getattr(e, 'code', 500)
    # 提取异常的提示信息,默认赋值服务内部错误
    message = getattr(e, 'description', 'Internal Server Error')

    # 按照你定义的统一格式返回响应
    return {
        "code": code,
        "status": "error" if code >= 400 else "success",
        "message": message,
        "data": {}
    }, code

步骤2:验证效果

配置完成后,再次对未定义GET方法的接口发起GET请求,就会返回符合规范的响应:

{
    "code": 405,
    "status": "error",
    "message": "The method is not allowed for the requested URL.",
    "data": {}
}

补充说明

  • 该处理器会自动适配所有标准HTTP错误,包括404、401、403、500等常见异常,无需单独配置。
  • 如果你需要处理自定义业务异常,只需在@api.errorhandler()括号中传入自定义异常类,即可单独针对该类异常做格式适配。

内容的提问来源于stack exchange,提问作者Shahrear Bin Amin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 16:45:00