错误值:预期值:第 1 行第 1 列(字符 0)



我得到错误值: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))

相关内容

  • 没有找到相关文章

最新更新