[解決済み] Express.js ルーティング: オプションの splat パラメータ?
2023-04-29 18:24:57
質問
以下のようなルートがあります。
app.all('/path/:namedParam/*splat?',function(req,res,next){
if(!req.params.length){
// do something when there is no splat
} else {
// do something with splat
}
});
を呼び出すと、これはうまくいきません。
path/foo/bar
を呼び出すとルートにヒットしますが、もし
path/foo
を呼び出すとヒットしません。
オプションの splat パラメータを持つことは可能でしょうか、それともこれを検出するために正規表現を使用しなければなりませんか。
編集 :
を明確にするために、私が達成しようとしている要件は次のとおりです。
- 最初のパラメータと2番目のパラメータは 必須
- 最初のパラメータは静的、2番目は名前付きパラメータです。
- 任意の数の 任意 を追加しても、ルートにヒットすることができます。
どのように解決するのですか?
これは express 4 の /path と /path/foo で動作します。
*
の前に
?
.
router.get('/path/:id*?', function(req, res, next) {
res.render('page', { title: req.params.id });
});
関連
-
[解決済み】Express.js req.bodyが未定義です。
-
[解決済み】MongoDBでコレクションを日付で並べ替えるには?
-
[解決済み] MongoClient v3.0使用時、db.collectionが関数でない
-
[解決済み] Passport JSのreq.isAuthenticated()はどのように実装されていますか?[クローズド]
-
[解決済み] Node.js上のExpress.jsでGET(クエリ文字列)変数を取得する方法とは?
-
[解決済み] Express.js - app.listen vs server.listen
-
[解決済み] express.js で HTTPS を有効にする
-
[解決済み] Express.jsとは?
-
[解決済み】Node.js / Express.js - app.routerはどのように動作するのですか?
-
[解決済み】express.jsで静的ファイルを作成する。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】mongoError: トポロジーが破壊されました
-
[解決済み] エラー: nodejs の get 呼び出しで getaddrinfo ENOTFOUND が発生しました。
-
[解決済み】Node.jsのエラーECONNRESETをデバッグするにはどうすればよいですか?
-
[解決済み】ENOENT, そのようなファイルまたはディレクトリがありません。
-
[解決済み] のエラーが発生しました。これはおそらくnpmの問題ではありません。上に追加のログ出力があると思われます
-
[解決済み] bodyParser は非推奨です express 4
-
[解決済み] TypeError: コールバックはnodejsの関数ではありません。
-
[解決済み] AWS s3 api error: specified bucket does not exist.
-
[解決済み] エラーです。Cannot find module 'ejs'
-
[解決済み] Express.js req.bodyが未定義です。