【问题标题】:Get json api data from another api flask从另一个 api 烧瓶中获取 json api 数据
【发布时间】:2020-08-27 14:21:51
【问题描述】:

我用flask和sql alchemy创建了这个rest api,我不想手动输入json数据,而是从另一个json中获取它并将其添加到我的数据库中: https://www.habitat.fr/api/qDbBye4V7vtMu8qL97vvHTAnLQuEhC/product/911095/sku

我在烧瓶中添加产品路线

#add product 
@app.route('/product', methods=['POST'])
def add_product():
    name = request.json['name']
    description = request.json['description']
    price = request.json['price']
    qty = request.json['qty']

    new_product = Product(name,description,price,qty)
    db.session.add(new_product)
    db.session.commit()

    return product_schema.jsonify(new_product)

【问题讨论】:

    标签: python api flask sqlalchemy


    【解决方案1】:

    您需要做的就是使用requestsjson 模块编写一个函数来获取url 中的json,如下所示:

    import requests
    import json
    def get_data():
        r = requests.get('https://www.habitat.fr/api/qDbBye4V7vtMu8qL97vvHTAnLQuEhC/product/911095/sku')
        return json.loads(r.content) #convert content to dict
    

    您现在可以在您的烧瓶应用程序中调用该函数:

    @app.route('/product', methods=['POST'])
        def add_product():
        my_data = get_data()
        name = my_data['name']
        description = my_data['description']
        price = my_data['price']
        qty = my_data['qty']
    

    【讨论】:

    • 那是因为您的字典键 name 不存在于 JSON 数据中,您应该查看 JSON 文件并确定哪些键可用
    • 我更改了所有键以适应 JSON 数据,但仍然无法正常工作
    猜你喜欢
    • 1970-01-01
    • 2019-12-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-28
    • 1970-01-01
    • 2020-06-23
    • 1970-01-01
    相关资源
    最近更新 更多