特定路线匹配时显示404

时间:2013-08-31 07:25:32

标签: python google-app-engine python-2.7 webapp2

我有以下路线设置,匹配休息api on / rest。

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_exists网址,我想显示404。

有没有办法从路由中调用abort(404),还是应该为此创建一个处理程序?

1 个答案:

答案 0 :(得分:0)

因为您可以像页面一样捕获所有路线,如果这与上一个问题的上下文相同,则可以执行

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

但是,你需要创建处理程序来调用特定路由上的self.abort,尽管默认情况下未捕获的路由确实是这样。