J'essaye d'avoir une route qui couvre tout sous /foo
y compris /foo
lui-même. J'ai essayé d'utiliser /foo*
qui fonctionnent pour tout sauf il ne correspond pas /foo
. Observez :
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);
Sorties :
$ curl localhost:3000/foo
Foo
$ curl localhost:3000/foo/bar
Foo*
Foo Bar
Quelles sont mes options ? La meilleure solution que j'ai trouvée est d'acheminer /fo*
ce qui, bien sûr, n'est pas très optimal car cela correspondrait à beaucoup trop de choses.
0 votes
Si vous interceptez tous les
/foo*
des routes comme celle-là, ne voulez-vous pas plutôt en faire un intergiciel ?4 votes
Faites attention à ce que vous demandez :
/foo*
correspond à/foo/bar
mais correspond également à/foolish
ce qui n'était probablement pas votre intention.