Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/powerbi/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 从另一个api烧瓶获取json api数据_Python_Api_Flask_Sqlalchemy - Fatal编程技术网

Python 从另一个api烧瓶获取json api数据

Python 从另一个api烧瓶获取json api数据,python,api,flask,sqlalchemy,Python,Api,Flask,Sqlalchemy,我使用flask和sql alchemy创建了这个rest api,我不想手动输入json数据,而是想从另一个json获取数据并将其添加到我的数据库中: 在烧瓶中添加产品路线 #add product @app.route('/product', methods=['POST']) def add_product(): name = request.json['name'] description = request.json['description'] price

我使用flask和sql alchemy创建了这个rest api,我不想手动输入json数据,而是想从另一个json获取数据并将其添加到我的数据库中:

在烧瓶中添加产品路线

#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)

您只需编写一个函数,使用
请求
json
模块获取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
您现在可以在flask应用程序中调用该函数:

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

这是因为您在JSON数据中不存在字典键
name
,您应该检查JSON文件并确定哪些键可用。我更改了所有键以适应JSON数据,但仍然不起作用