python flask-restplus swagger中的数组数据的模型定义

时间:2019-01-19 01:01:07

标签: rest api flask swagger flask-restplus

我在flask中使用flask_restplus swagger获取api文档。我想为将数据发布到数据库的api创建模型定义。我的问题是,数据是数组形式的。我正在通过发布请求以以下格式发送数据。

{
    "user_id" : 3,
    "product" : [
        {
            "product_id" : 33,
            "total_price" : 50,
            "quantity": 2
        },
        {
            "product_id" : 18,
            "total_price" : 40,
            "quantity": 2
        }
    ]
}

我们如何为这种类型的结构定义模型?我正在体内发送数据。

1 个答案:

答案 0 :(得分:0)

如果您仍在寻找答案,请点击以下链接获取帮助 https://github.com/noirbizarre/flask-restplus/issues/18

我遇到了类似的问题,我使用此链接来解决我的问题

解决方案的一部分可能是此帮助

{"product" : [
        {
            "product_id" : 33,
            "total_price" : 50,
            "quantity": 2
        },
        {
            "product_id" : 18,
            "total_price" : 40,
            "quantity": 2
        }
    ]
}

order = api.model( "product" : { "product_id" : fields.String, "total_price" : fields.Integer, "quantity": fields.Integer } }) 



@api.route('/somewhere')
class MyAPI(Resource):
    @api.expect([order])
    def post(self):
        pass
or 

@api.route('/somewhere')
class MyAPI(Resource):
    @api.doc(body=[order])
    def post(self):
        pass

对于“ user_id”,我将使用 @api.extend扩展模型并尝试,因为我还没有尝试过,所以我无法发表评论,所以您需要检查这一部分并更新