我使用 Flask 创建了两个应用程序:App1 和 App2。
应用1
@App1.route('/api/v1.0/call_database')
def _database():
...
...
应用2
@App2.route('/api/v1.0/calculate')
def _calculate():
...
...
App1 正在集中联系我的数据库。如何使用App2调用App1?
我正在尝试的是:
@App2.route('/api/v1.0/calculate')
def _calculate():
...
response = requests.get(url = ('http://{}:{}/api/v1.0/call_database'.format(data_store_url, data_store_port)), data = parameters)
...
最佳答案
这是您的第一个应用脚本:
from flask import Flask, request
app = Flask(__name__)
@app.route("/app1/")
def app1():
return str(request.args)
app.run(port=5000)
这是您的第二个应用脚本:
from flask import Flask, request
import requests
app = Flask(__name__)
@app.route("/app2/")
def app2():
# requests.get(url, params={})
res = requests.get("http://127.0.0.1:5000/app1/", params={"a": "123"})
return str(res.text)
app.run(port=5001)
当您访问http://127.0.0.1:5001/app2/
时 - 您会得到:
ImmutableMultiDict([('a', u'123')])
这是预期的。 就是这样。
关于python - 来自另一个 API python 的 API 调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47453179/