Python 从另一个api烧瓶获取json api数据
我使用flask和sql alchemy创建了这个rest api,我不想手动输入json数据,而是想从另一个json获取数据并将其添加到我的数据库中: 在烧瓶中添加产品路线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
#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数据,但仍然不起作用