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_exists404 を表示したい URL にアクセスした場合。

ルートから 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 に答える