1

我有以下路线设置,匹配/rest上的rest api。

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) 或者我应该为此创建一个处理程序?

4

1 回答 1

0

因为你有一个像页面一样的全部路线,如果这与最后一个问题的上下文相同,你可以这样做

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

但是,是的,您需要创建处理程序以在特定路由上调用 self.abort,尽管默认情况下未捕获的路由正是这样做的。

于 2013-08-31T13:53:06.983 回答