Колба 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']})