我有以下功能:`
def file(DOCname,TABLEid):
directory = DOCname
parent_dir = "E:\\Tables\\Documents\\" TABLEid
path = os.path.join(parent_dir, directory)
try:
os.makedirs(path, exist_ok = True)
print("Directory '%s' created successfully" % directory)
except OSError as error:
print("Directory '%s' can not be created" % directory)
`
現在我想使用 Flask API 并呼叫此函式來運行我將通過 Postman 提供的兩個變數 DOCname 和 TABLEid,但我不確定如何在進行 API 呼叫的同時運行它?
我試圖在發布請求下運行該檔案,但似乎沒有任何反應。
uj5u.com熱心網友回復:
可以通過以下方式完成。來自 Postman 的資料應該通過 forms 發送。
from flask import Flask
from flask import request
app = Flask(__name__)
@app.route("/",methods=["POST"])
def file():
dic_data = request.form
DOCname= dic_data["DOCname"]
TABLEid = dic_data["TABLEid"]
directory = DOCname
parent_dir = "E:\\Tables\\Documents\\" TABLEid
path = os.path.join(parent_dir, directory)
try:
os.makedirs(path, exist_ok = True)
print("Directory '%s' created successfully" % directory)
except OSError as error:
print("Directory '%s' can not be created" % directory)

uj5u.com熱心網友回復:
首先,您需要定義 API 呼叫。例如,您是否會使用 json。此示例假定 json 訊息傳遞,以便端點將接受 POST 請求和 json 訊息:
{
"docname": "mydoc",
"tableid": "tid0001"
}
如果您查看 Flask快速入門指南:
你可以簡單地做一個基本的路線,它接受一個像這樣的 POST 請求
from flask import Flask, request, jsonify
app = Flask(__name__)
@app.route("/", methods['POST'])
def endpoint1():
my_args = request.get_json()
try:
success, message = file(my_args["docname"],my_args["tableid"])
except KeyError:
success = False
message = "Invalid arguments"
return jsonify({"success": success, "msg": message})
def file(DOCname,TABLEid):
directory = DOCname
parent_dir = "E:\\Tables\\Documents\\" TABLEid
path = os.path.join(parent_dir, directory)
try:
os.makedirs(path, exist_ok = True)
return (True, "Directory '%s' created successfully" % directory)
except OSError as error:
return (False, "Directory '%s' can not be created" % directory)
并運行python -m flask --app myscriptname run
雖然您可以使用郵遞員進行測驗,但您也應該能夠使用基本的 curl 命令進行演示,例如:
curl -X POST -H "Content-Type: application/json" -d '{\
"docname": "mydoc",\
"tableid": "tid001"\
}' http://localhost:5000/
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/536269.html
