首页 > 解决方案 > 从另一个 api 烧瓶中获取 json api 数据

问题描述

我用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)

标签: pythonapiflasksqlalchemy

解决方案


您需要做的就是编写一个函数,使用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']

推荐阅读