我得到错误值:json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0).
我有一个应用程序烧瓶。我想使用Rest api
.我有一个app.py
文件和api.py
文件。我正在api.py
文件中编写一个get
方法。此方法有一个输入参数(P_ID
(,并且此方法的输出是JSON
类型。此方法正确运行。现在,我想在app.py
中使用requests.get
,但我遇到了此错误。
我在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)
你可以帮我吗?
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
另外,我的问题通过以下代码解决了:
info = requests.get('http://localhost:5000/edit/' + str(P_ID))