Получить несколько данных в запросе POST с помощью Flask_restx
Добрый вечер:
Я создал API во Flask и Flask Restx, где пользователь должен отправить запрос POST с некоторыми числовыми аргументами и получить результат от бэкэнда.
Теперь я пытаюсь расширить его, чтобы одновременно принимать несколько "запросов"; Я имею в виду, что пользователь должен иметь возможность отправить список запросов и получить список результатов.
Как это сделать?
Это упрощение кода:
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
}