Колба restful: динамический параметр с POST

Я хотел бы проанализировать динамический набор аргументов 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 ответ

Решение

Если вы хотите проанализировать некоторый динамический набор значений, вам следует просто принять необработанную полезную нагрузку 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']})
Другие вопросы по тегам