gpt4 book ai didi

python - 从另一个 Flask 应用程序调用 Flask 应用程序的 REST API

转载 作者:行者123 更新时间:2023-12-04 17:31:12 26 4
gpt4 key购买 nike

我在本地机器上运行两个 Flask 应用程序(A 和 B)。在 Flask 应用程序 B 中,我从 Flask 应用程序 A 调用端点。

从 Flask 应用程序 A 调用的端点是:/hello_world

from flask import Flask, jsonify, request

app = Flask(__name__)

@app.route("/hello_world", methods=["POST"])
def hello_world():
a = request.json.get("a")
b = request.json.get("b")
return jsonify({a:b})

if __name__ == '__main__':
app.run(host='0.0.0.0',port=5000,debug=True)

在flask应用程序B中,端点 /hi_world正在调用上述端点,如下所示:
import requests
from flask import Flask, jsonify, request

app = Flask(__name__)

@app.route("/hi_world", methods=["POST"])
def hi_world():
a = request.json.get("a")
b = request.json.get("b")
paras = {"a":a, "b":b}
response = requests.post(url="http://0.0.0.0:5000/",data=paras)
print(response)
return None

if __name__ == '__main__':
app.run(host='0.0.0.0',port=5002,debug=True)

我使用 postman 向 /hi_world 发出 POST 调用。我在请求正文中传递以下字典 {"a":"Hello","b":"World"} .但是,我得到了一个 <Response [404]> .当我调用 /hello_world直接从 postman 那里它工作得很好 <Response [200]> .我究竟做错了什么?

最佳答案

在您的第二个应用程序中,您需要更新这一行:

response = requests.post(url="http://0.0.0.0:5000/",data=paras)

引用第一个应用程序的完整 URL,例如:
response = requests.post(url="http://0.0.0.0:5000/hello_world",data=paras)

关于python - 从另一个 Flask 应用程序调用 Flask 应用程序的 REST API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59549527/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com