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

Thunkable POST请求未以JSON发送致Flask解析失败求助

解决Thunkable POST请求无法以JSON格式传输数据的问题

核心问题排查与解决步骤

1. 修正Thunkable的请求体设置

这是最常见的错误点:

  • 打开Thunkable的POST请求组件,找到请求体(Body)的类型选项,不要选择"Text",切换为"JSON"类型。
  • 在JSON输入区域,直接编写标准的JSON键值对结构,比如:
    {"username": "test", "age": 25}
    
    注意不要将整个JSON内容用引号包裹(比如不要写成"{\"username\": \"test\"}",这会被当成字符串文本发送)。

2. 确保请求头正确配置

  • 在Thunkable的请求头设置中,添加一条键值对:
    • 键:Content-Type
    • 值:application/json
      确认没有拼写错误,严格遵循标准能避免潜在的解析问题。

3. Flask端的验证与调试

如果调整后还是无法解析,可以在Flask接口中添加调试代码,确认请求内容:

from flask import Flask, request, jsonify
import json

app = Flask(__name__)

@app.route('/api/your-endpoint', methods=['POST'])
def handle_request():
    # 打印请求头,确认Content-Type是否正确
    print("Request Headers:", request.headers)
    # 打印原始请求数据
    print("Raw Request Data:", request.data.decode('utf-8'))
    
    # 尝试解析JSON
    data = request.get_json()
    if not data:
        # 如果自动解析失败,手动从原始数据转换
        try:
            data = json.loads(request.data)
        except json.JSONDecodeError:
            return jsonify({"error": "Invalid JSON format"}), 400
    
    return jsonify({"received_data": data}), 200

if __name__ == '__main__':
    app.run(debug=True)

运行后查看控制台输出,就能明确Thunkable发送的内容格式是否正确。

为什么Postman能正常工作?

Postman在选择"Raw"并设置Content-Type为application/json时,会自动将输入的JSON内容以正确的JSON payload格式发送;而Thunkable如果选了文本类型,即使内容是JSON字符串,也会被当成纯文本传输,导致Flask无法用request.get_json()自动解析。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 18:05:08