【发布时间】:2017-08-17 05:03:55
【问题描述】:
我正在尝试使用烧瓶开发 Web 应用程序,下面是我的代码,
from sample import APIAccessor
#API
@app.route('/test/triggerSecCall',methods=['GET'])
def triggerMain():
resp = APIAccessor().trigger2()
return Response(json.dumps(resp), mimetype='application/json')
@app.route('/test/seccall',methods=['GET'])
def triggerSub():
resp = {'data':'called second method'}
return Response(json.dumps(resp), mimetype='application/json')
而我的触发方法包含以下代码,
def trigger2(self):
url = 'http:/127.0.0.1:5000/test/seccall'
response = requests.get(url)
response.raise_for_status()
responseJson = response.json()
if self.track:
print 'Response:::%s' %str(responseJson)
return responseJson
当我点击http://127.0.0.1:5000/test/seccall 时,我得到了预期的输出。当我点击/test/triggerSecCall 时,服务器停止响应。请求永远等待。
在这个阶段,我无法从任何其他 REST 客户端访问任何 API。当我强制停止服务器(Ctrl+C)时,我在second REST 客户端中得到响应。
为什么烧瓶不能为内部服务调用服务?
【问题讨论】: