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

Postman调用Flask机器学习API遇错求助:需传file_path与JSON数据

解决方案:Flask API同时接收file_path参数与JSON输入数据

一、Flask端代码调整

要同时接收查询参数和JSON请求体,需分别通过request.args和request.get_json()获取数据,示例代码如下:

from flask import Flask, request, jsonify
# 导入你的机器学习模型模块
import your_model

app = Flask(__name__)

@app.route('/predict', methods=['POST'])
def predict():
    # 获取URL查询参数中的file_path
    file_path = request.args.get('file_path')
    if not file_path:
        return jsonify({'error': '未提供file_path参数'}), 400
    
    # 获取请求体中的JSON数据
    input_data = request.get_json()
    if not input_data:
        return jsonify({'error': '未提供JSON格式的输入数据'}), 400
    
    # 执行模型预测逻辑
    try:
        prediction_result = your_model.predict(file_path, input_data)
        return jsonify({'prediction': prediction_result})
    except Exception as e:
        return jsonify({'error': f'预测失败:{str(e)}'}), 500

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

二、Postman请求配置步骤

  1. 请求方法与URL:选择POST方法,输入API地址(如http://localhost:5000/predict)
  2. 添加file_path参数:切换到Params标签,新增参数:
    • Key: file_path
    • Value: 你的模型文件/数据文件的实际路径(如/home/user/models/model_v1.pth)
  3. 配置JSON请求体:切换到Body标签,选择raw格式,右侧下拉菜单选JSON,输入你的输入数据,示例:
    {
        "feature1": 0.85,
        "feature2": 2.1,
        "feature3": 1.0
    }
    
  4. 发送请求:点击Send按钮,即可同时传递参数和JSON数据。

三、常见错误排查

  • 避免混合请求格式:不要同时使用form-data和raw JSON,这会导致Flask无法正确解析JSON数据
  • 检查请求头:Postman选择raw JSON时会自动添加Content-Type: application/json请求头,不要手动修改或删除
  • 路径参数替代方案:如果想用路径参数(如/predict/<file_path>),需对路径中的特殊字符(如斜杠)进行URL编码,否则会导致路由匹配失败,推荐优先使用查询参数

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 10:07:50