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

如何通过Flask API结合Postman传递参数并调用指定函数

Flask API 实现方案

先给出完整的可运行代码,包含你的目录创建逻辑和Flask接口:

import os
from flask import Flask, request, jsonify

app = Flask(__name__)

def create_directory(DOCname, TABLEid):
    # 重命名函数避免和Python内置关键字冲突
    directory = DOCname
    parent_dir = f"E:\\Tables\\Documents\\{TABLEid}"
    path = os.path.join(parent_dir, directory)

    try:
        os.makedirs(path, exist_ok=True)
        success_msg = f"Directory '{directory}' created successfully"
        print(success_msg)
        return True, success_msg
    except OSError as error:
        error_msg = f"Directory '{directory}' can not be created: {str(error)}"
        print(error_msg)
        return False, error_msg

@app.route('/create-directory', methods=['POST'])
def handle_create_directory():
    # 同时支持JSON和form-data两种参数传递方式
    data = request.get_json()
    if data:
        doc_name = data.get('DOCname')
        table_id = data.get('TABLEid')
    else:
        doc_name = request.form.get('DOCname')
        table_id = request.form.get('TABLEid')
    
    # 校验必填参数
    if not doc_name or not table_id:
        return jsonify({"status": "error", "message": "DOCname 和 TABLEid 参数不能为空"}), 400
    
    # 调用目录创建逻辑
    success, msg = create_directory(doc_name, table_id)
    if success:
        return jsonify({"status": "success", "message": msg}), 200
    else:
        return jsonify({"status": "error", "message": msg}), 500

if __name__ == '__main__':
    app.run(debug=True)  # 开发环境开启debug,生产环境需关闭

关键调整说明

  • 把原file函数重命名为create_directory,避免和Python内置类型冲突
  • 让函数返回创建状态和消息,方便接口返回结构化响应
  • 接口兼容JSON和form-data两种参数格式,适配Postman的不同调用习惯

Postman调用步骤

  1. 启动Flask服务:运行上述代码,控制台会输出服务地址(默认http://127.0.0.1:5000)
  2. 打开Postman,新建POST请求,填入URL:http://127.0.0.1:5000/create-directory
  3. 选择参数传递方式:
    • form-data方式:切换到Body标签,选择form-data,添加两个键值对:DOCname(目录名)、TABLEid(表格ID)
    • JSON方式:切换到Body标签,选择raw并设置格式为JSON,输入如下内容:
      {
          "DOCname": "Report_2024",
          "TABLEid": "Table_001"
      }
      
  4. 点击Send,查看响应结果

之前调用无效果的常见排查点

  • 参数名不匹配:确保Postman里的参数键名是DOCname和TABLEid,大小写完全一致
  • 权限问题:检查E:\Tables\Documents目录是否有写入权限,Flask运行用户是否具备该路径的操作权限
  • 服务未正常启动:确认Flask控制台无报错,Postman请求的URL和服务地址一致
  • 请求方式错误:必须使用POST请求,不能用GET
  • 路径拼接问题:原代码的字符串拼接改为f-string,避免转义字符导致路径错误

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 02:10:32