flask调用内部api
时间: 2023-11-22 14:05:41 浏览: 39
在 Flask 中调用内部 API,可以使用 Flask 提供的 `requests` 模块。以下是一个简单的示例:
```python
from flask import Flask, jsonify
import requests
app = Flask(__name__)
@app.route('/api')
def api():
url = 'http://localhost:5000/other_api' # 内部 API 的 URL
response = requests.get(url)
data = response.json()
return jsonify(data)
@app.route('/other_api')
def other_api():
data = {'message': 'Hello from the other API!'}
return jsonify(data)
if __name__ == '__main__':
app.run()
```
在上面的代码中,我们定义了两个路由。`/api` 路由调用了内部 API `/other_api`,并返回其响应数据。`/other_api` 路由则是内部 API 的实现,返回一个简单的 JSON 数据。
在 `api` 路由中,我们使用 `requests.get()` 方法发送一个 GET 请求到内部 API 的 URL,并将响应数据转换为 JSON 格式。最后,我们将 JSON 数据作为响应返回。
需要注意的是,内部 API 的 URL 可能会随着 Flask 应用的部署方式而有所不同。例如,在 Docker 容器中部署 Flask 应用时,内部 API 的 URL 可能是容器名加上端口号。因此,需要根据实际情况来设置正确的 URL。