2017-11-23 34 views
0

私は2つのアプリを作成します:App1とApp2をフラスコで作成します。別のAPIからのAPI呼び出しPython

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) 

... 
+0

あなたの質問はあまり明確ではありません。あなたがそれを構築しているので。なぜあなたは回覧をしますか?ちょうど1つのAPIが1つのことを行うようにしてください... – saviour123

答えて

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

これは予想通りです。 それだけです。

関連する問題