Expressに登録されているすべてのルートを取得するにはどうすればいいですか? 質問する

Expressに登録されているすべてのルートを取得するにはどうすればいいですか? 質問する

Node.js と Express を使用して構築された Web アプリケーションがあります。ここで、登録されているすべてのルートを適切なメソッドとともに一覧表示したいと思います。

例えば、私が

app.get('/', function (...) { ... });
app.get('/foo/:id', function (...) { ... });
app.post('/foo/:id', function (...) { ... });

次のようなオブジェクト (またはそれと同等のもの) を取得したいと思います。

{
  get: [ '/', '/foo/:id' ],
  post: [ '/foo/:id' ]
}

これは可能でしょうか?可能であれば、どのようにすればよいでしょうか?

ベストアンサー1

エクスプレス 3.x

はい、自分で見つけました...ただapp.routes:-)

エクスプレス 4.x

アプリケーション- 構築済みexpress()

app._router.stack

ルーター- 内蔵express.Router()

router.stack

: スタックにはミドルウェア関数も含まれているため、「ルート」のみを取得するようにフィルタリングする必要があります。

おすすめ記事