Колба restful: динамический параметр с POST - PullRequest
0 голосов
/ 03 декабря 2018

Я хотел бы проанализировать динамический набор аргументов API.Количество аргументов не является фиксированным, так как тот, кто вызывает API, является другой стороной.Я хотел бы сделать так, чтобы мой API мог принимать дополнительный аргумент, а также включать его, если в будущем будут внесены какие-либо изменения другой стороной.

Я хочу изменить это:

class PaymentReceive(Resource):
    def post(self):
        parser = reqparse.RequestParser()
        parser.add_argument('arg1', type=str, location="form")
        parser.add_argument('arg2', type=str, location="form")
        args = parser.parse_args()

Примерно так:

class PaymentReceive(Resource):
    def post(self):
        parsers = reqparse.RequestParser()
        for key, value in parsers.items():
            parser.add_argument(key, type=str, location="form")

        args = parser.parse_args()

Я пробовал метод в здесь безрезультатно.Пожалуйста, помогите

1 Ответ

0 голосов
/ 03 декабря 2018

Если вы хотите проанализировать некоторый динамический набор значений, вам следует просто принять необработанную полезную нагрузку JSON, которую вы можете перебирать и разбирать по своему усмотрению.

В простой колбе,

@app.route('/payment', methods=['POST'])
def receive_payment():
    content = request.json
    for k, v in content.items():
        print(k, v)
    # return some received id
    return jsonify({"payment_id":content['payment_id']})
...