1、主程序中至少有两个路由;2、获取url_map,解析后将map中的路由信息作为response返回给某个路由请求。提示: 利用循环遍历map数据集。

from flask import Flask, jsonify, request

app = Flask(__name__)

# 定义路由和视图函数
@app.route('/')
def index():
    return '<h1> Hello World!</h1>'

@app.route('/personal/<id>')
def personal(id):
    return "个人中心的ID:%s" % id

@app.route('/book/list')
def book_list():
    page = request.args.get("page", default=1, type=int)
    return f"您获取的是第{page}的图书列表!"

# 定义一个新路由来获取所有路由信息
@app.route('/get_routes')
def get_routes():
    routes_response = []
    for rule in app.url_map.iter_rules():
        # 过滤掉不需要显示的规则,例如静态文件路由
        if rule.endpoint != 'static':
            routes_response.append({
                'rule': rule.rule,
                'endpoint': rule.endpoint,
                'methods': list(rule.methods)
            })
    return jsonify(routes_response)

if __name__ == '__main__':
    app.run(debug=True)
  • @app.route('/get_routes'):定义了一个新路由,用于返回应用中所有路由的信息。
  • 使用app.url_map.iter_rules()遍历所有路由规则。
  • 对于每个规则,如果它的端点不是static(即不是用于服务静态文件的路由),则将其规则、端点和支持的方法添加到routes_response列表中。
  • 使用jsonifyroutes_response列表转换为JSON格式的响应,并返回。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值