当特定路由匹配时显示404

2024-09-29 17:21:28 发布

您现在位置:Python中文网/ 问答频道 /正文

我设置了以下路由,与/rest上的restapi相匹配。你知道吗

routes = [
    PathPrefixRoute('/rest', [
        Route('/customers', handler='app.handlers.CustomerHandler:list',
                            methods=['GET']),
        # some other /rest routers
        Route('/<:.*>', ?) # this route should execute abort(404)
    ]),
    Route('/<page:.*>', handler='app.handlers.PageHandler', methods=['GET'])
]

如果有人访问/rest/does_not_existsurl,我想显示404。你知道吗

有没有办法从路由调用abort(404),或者我应该为此创建一个处理程序?你知道吗


Tags: restrestapiapp路由gethandlersroutelist
1条回答
网友
1楼 · 发布于 2024-09-29 17:21:28

因为你有一个包罗万象的路线就像网页,如果这是在同一个上下文中的最后一个问题,你可以这样做

if not os.path.exists(os.path.join(template_path, page)): 
    self.abort(404)

但是你需要创建一个处理程序来调用自动中止在特定的路由上,尽管未捕获的路由在默认情况下确实会这样做。你知道吗

相关问题 更多 >

    热门问题