我得到错误值:json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0).
我有一个应用Flask。我想使用Rest api
。我有一个app.py
文件和api.py
文件。我正在get
文件中编写一个api.py
方法。此方法具有输入参数(P_ID
),并且此方法的输出为JSON
类型。此方法可以正确运行。现在,我想在requests.get
中使用app.py
,但遇到此错误。
我在app.py
文件中的代码是:
@app.route('/edit/<int:P_ID>', methods=['GET','POST'])
def update(P_ID):
if request.method=='GET':
info = requests.get('http://localhost:5000/edit/<int:P_ID>')
info = info.json()
return info
我的api.py
文件是:
class ProductEdit(Resource):
def get(self,P_ID):
cursor=conn.cursor()
cursor.execute("SELECT * FROM Tbl_product WHERE P_ID=?",(P_ID))
columns = [column[0] for column in cursor.description]
results = []
for row in cursor.fetchall():
results.append(dict(zip(columns, row)))
rest = jsonify(results)
return rest
api.add_resource(ProductEdit , '/edit/<int:P_ID>')
if __name__ == '__main__':
flask_app.run(debug=True)
你能帮我吗?
答案 0 :(得分:1)
info = requests.get('http://localhost:5000/edit/<int:P_ID>')
应该是(对于Python3.6或更高版本)
info = requests.get(f'http://localhost:5000/edit/{P_ID}')
<int:P_ID>
语法用于烧瓶路由/解析-这不是正常的python字符串格式化语法
您还应该检查请求的响应,一种简单的方法是检查状态代码
if info.status_code != 200:
# return a helpful error message here
答案 1 :(得分:0)
此外,我的问题由以下代码解决:
info = requests.get('http://localhost:5000/edit/' + str(P_ID))