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

Flask服务端间POST请求接收JSON为None故障排查求助

问题根源

你在webhook服务端向数据库服务端转发POST请求时,没有指定Content-Type: application/json请求头,Flask框架无法识别请求体是JSON格式,因此request.json直接返回none。

修复方案

方案1:手动添加JSON请求头

修改webhook服务端的请求发送代码,补充请求头参数即可:

@app.route("/", methods=['POST'])
def itgluealertwebhook():
    if request.method == 'POST':
        json_payload = json.dumps(request.json, indent=1)
        # 补充Content-Type请求头
        requestlink = requests.post(
            url = "http://127.0.0.1:5060/itgpsqdbadd",
            data = json_payload,
            headers={'Content-Type': 'application/json'}
        )
        print(json_payload)
        print(requestlink)
    return json_payload

方案2:使用requests库内置JSON参数(更简洁)

requests库的post方法支持直接传入json参数,会自动完成JSON序列化、添加对应请求头的操作,无需手动处理:

@app.route("/", methods=['POST'])
def itgluealertwebhook():
    if request.method == 'POST':
        # 无需手动dumps序列化
        json_payload = request.json
        requestlink = requests.post(
            url = "http://127.0.0.1:5060/itgpsqdbadd",
            json = json_payload
        )
        print(json.dumps(json_payload, indent=1))
        print(requestlink)
    return json.dumps(json_payload, indent=1)

额外优化建议

数据库服务端代码中直接通过requestj['Password Url']的方式取值,若请求JSON中缺少对应键会直接抛出异常,建议改为requestj.get('Password Url', '')的方式取值,提前处理缺值的异常场景。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 16:39:05