我有以下路线设置,匹配休息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),还是应该为此创建一个处理程序?
答案 0 :(得分:0)
因为您可以像页面一样捕获所有路线,如果这与上一个问题的上下文相同,则可以执行
if not os.path.exists(os.path.join(template_path, page)):
self.abort(404)
但是,你需要创建处理程序来调用特定路由上的self.abort,尽管默认情况下未捕获的路由确实是这样。