自分自身/foo
を含めてすべてをカバーする1つのルートを作成しようとしてい/foo
ます。私はそれが一致しない/foo*
ことを除いてすべてのためにどの作品を使ってみました/foo
。観察する:
var express = require("express"),
app = express.createServer();
app.get("/foo*", function(req, res, next){
res.write("Foo*\n");
next();
});
app.get("/foo", function(req, res){
res.end("Foo\n");
});
app.get("/foo/bar", function(req, res){
res.end("Foo Bar\n");
});
app.listen(3000);
出力:
$ curl localhost:3000/foo
Foo
$ curl localhost:3000/foo/bar
Foo*
Foo Bar
私のオプションは何ですか?私が思いついた最良の/fo*
方法は、あまり一致しないため、もちろんあまり最適ではないルーティングです。
/foo*
マッチ/foo/bar
だけでなく、/foolish
おそらく意図していないマッチも。
/foo*
ようなすべてのルートをインターセプトする場合は、代わりにミドルウェアにしたくないですか?