Flask如何解决不明确的路由?

Flask如何解决不明确的路由?,flask,Flask,假设我有一个用@app.route('/api/')修饰的函数和另一个用@app.route('/')修饰的函数。url路径/api/foo与两个路由匹配。Flask是否保证调用哪个函数?您可以在Flask中找到答案: Flask使用设计用于 按复杂性自动排序路由。这意味着你可以 按任意顺序声明路由,它们仍将作为 预期。如果您想正确实现,这是一个要求 基于decorator的路由,因为decorator可以在未定义的 将应用程序拆分为多个模块时的顺序 使用Werkzeug路由系统的另一个设计决策

假设我有一个用
@app.route('/api/')
修饰的函数和另一个用
@app.route('/')
修饰的函数。url路径
/api/foo
与两个路由匹配。Flask是否保证调用哪个函数?

您可以在
Flask
中找到答案:

Flask
使用设计用于 按复杂性自动排序路由。这意味着你可以 按任意顺序声明路由,它们仍将作为 预期。如果您想正确实现,这是一个要求 基于decorator的路由,因为decorator可以在未定义的 将应用程序拆分为多个模块时的顺序

使用
Werkzeug
路由系统的另一个设计决策是
Werkzeug
中的路由尝试确保
url
是唯一的<代码>Werkzeug将 它将自动重定向到 如果路由不明确,则使用规范的
URL


你能解释一下为什么
@app.route('/')
会解析
/api/foo
?@RajaSimon它用
path='/api/foo
解析,否?这是如何回答这个问题的?@RajaSimon请阅读答案:
设计用于根据复杂性自动排序路线
和这样的员工,您可以通过编写
打印(“数字1”)
和另一个
打印(“数字2”)
。@kemis知道如何比较
复杂性
?它到底像什么?我希望能找到线索,但还没有找到任何线索。