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

如何解决Debian Linux下Express向MySQL发送任意查询时报错的问题

问题排查与修复方案

错误原因定位

报错核心是Flask框架接收到POST请求后,尝试读取JSON格式请求体时,检测到请求的Content-Type头不是application/json类型,因此拒绝解析请求体返回400错误。

分步排查步骤

  • 首先校验请求发送逻辑:检查发送POST请求的工具/代码是否正确设置了请求头Content-Type: application/json
    • 如果你用curl测试,需要加上-H "Content-Type: application/json"参数,示例命令:
      curl -X POST -H "Content-Type: application/json" -d '{"key":"value"}' 你的路由地址
      
    • 如果你用前端代码发送请求,需要在请求配置中明确指定headers的Content-Type字段为application/json
  • 其次校验请求体格式:确认发送的请求体是标准JSON格式,没有语法错误、多余的逗号或者引号不匹配的问题
  • 最后添加代码兼容逻辑:如果业务场景需要支持非JSON格式的POST请求,可以调整代码做兼容处理,避免直接抛出400错误,示例兼容代码:
    from flask import request, jsonify
    
    @app.route('/your-route', methods=['POST'])
    def your_handler():
        # 先判断是否为JSON类型请求
        if not request.is_json:
            return jsonify({"error": "请求格式必须为JSON"}), 400
        # 再安全读取参数
        param = request.json.get('param_name')
        if not param:
            return jsonify({"error": "缺少必填参数param_name"}), 400
        # 后续业务逻辑
    

修复验证

调整完成后重新发送请求,确认服务端可以正常解析请求参数,不再返回400错误即可。

内容的提问来源于stack exchange,提问作者DadiT

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 09:54:03