Flask restful: POST 的动态参数

Flask restful: dynamical parameter with 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()

我试过中的方法,没有用。请帮忙

如果你想解析一些动态的值集,那么你应该只接受一个原始的 JSON 有效负载,你可以根据需要对其进行迭代和解组。

在普通 Flask 中,

@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']})