来自另一个API python的API调用

时间:2017-11-23 10:26:27

标签: python api flask

我创建了两个应用程序:App1和App2 with flask。

App1的

@App1.route('/api/v1.0/call_database')

def _database():

 ...
 ...

App2

@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)

...

1 个答案:

答案 0 :(得分:1)

这是您的第一个应用脚本:

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')])

这是预期的。 就是这样。