flask 查询路由列表输出json
时间: 2024-10-07 09:00:44 浏览: 28
在 Flask 框架中,如果你想要查询路由列表并将其输出为 JSON 格式,可以按照以下步骤操作:
1. 首先,你需要导入 `flask` 和 `jsonify` 库。`jsonify` 函数帮助你在响应中返回 JSON 数据。
```python
from flask import Flask, jsonify, url_for
```
2. 创建一个 Flask 应用实例:
```python
app = Flask(__name__)
```
3. 使用 `@app.route` 装饰器定义你的路由。为了获取所有路由及其信息,你可以创建一个特殊的路由,比如 `/api/routes`,用于查询:
```python
@app.route('/api/routes')
def get_routes():
routes = [(rule.endpoint, rule.rule) for rule in app.url_map.iter_rules()]
return jsonify(routes)
```
在这个函数里,我们遍历了 URL 映射规则 (`url_map`),提取出每个路由的 endpoint(即函数名)和实际路径 (`rule`),然后将它们作为元组添加到列表 `routes` 中。
4. 现在当你访问 `/api/routes` 时,Flask 将会调用 `get_routes` 函数,并返回一个包含所有路由的 JSON 对象。
例如,请求结果可能是这样的 JSON 形式:
```json
[
{"endpoint": "home", "rule": "/"},
{"endpoint": "about", "rule": "/about"}
]
```
阅读全文