使用Flask_restx在POST请求中获取多个数据

问题描述

晚上好:

我已经在Flask和Flask Restx中创建了一个API,用户必须在其中发布带有一些数字参数的请求,并从后端获取结果。

现在,我正在尝试对其进行扩展,以便同时接受多个“请求”;我的意思是,用户应该能够发布请求列表并获得结果列表。

有办法吗?

这是代码的简化:

from flask import Flask,request
from flask_cors import CORS
from flask_restx import Api,fields,Resource   
from flask_restx import reqparse

...

# Package data directory
_data_path = os.path.join(os.path.dirname(os.path.abspath(__file__)),"out")

flask_app = Flask(__name__,static_url_path='')
CORS(flask_app)

app = Api(app=flask_app,title="models",description="API")

api_space = app.namespace("api",description="Internal API")

# Log also in production
flask_app.logger.setLevel(logging.DEBUG)

prediction_model_base = app.model('Base prediction configuration',{'a': fields.Float(required=True,description="a",example=15.21),'b': fields.Float(required=True,description="b",example=3.72),'c': fields.Float(required=True,description="c",example=5.50),})

prediction_return_model = app.model('Base predictions results',{
    'a': fields.Float(description="Lower quantile prediction",example=0.3),'b': fields.Float(description="Median prediction",example=0.5),'c': fields.Float(description="Upper quantile prediction",example=0.7),})

# API points
@api_space.route("/prediction/gradientboostingregressor")
class Prediction(Resource):
    @app.doc(description="Make a prediction for a set of parameters.")
    @app.expect(prediction_model_base)
    @app.response(500,'Invalid values')
    @app.marshal_with(prediction_return_model,code=200,description='OK')
    def post(self):
       ...
        return {
            "a": lower,"b": mid,"c": upper
        }

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)