我开发了以下代码:
from flask import Flask
from flask_restx import reqparse
from werkzeug.datastructures import FileStorage
app = Flask(__name__)
@app.route("/my_route", methods=['POST'])
def my_route():
parser = reqparse.RequestParser()
parser.add_argument('data', required=True, location='form', type=str)
parser.add_argument('my_file', required=True, location='files', type=FileStorage)
args = parser.parse_args()
data = request.form['data']
query_file = request.files['my_file']
我发送请求如下:
curl -X POST -F 'my_file=@path/to/file.file' -F 'data={"arg1":"arg1", "arg2":2, "optional_args":{"optional_arg1":"optional_arg1"}}'
为了管理我的条目,我想使用flask-restx(这是最好的主意吗?)。我面临的问题是,使用reqparse.add_argument,我得到一个str“data”参数而不是dict/json,我无法控制json“data”值和子值/json“data " 类型和子类型(如optional_arg1和 "arg1")。
如何使用 flask-restx 管理我的条目?我应该使用另一个库吗?