J'ai un itinéraire sur mon application Express qui ressemble à ceci:
app.get('/:id', function (request, response) {
…
});
L'ID sera toujours un nombre. Cependant, pour le moment, cette route correspond à d'autres choses, telles que /login
.
Je pense que j'en veux deux choses:
/login
).Cela peut-il être fait?
En développant la réponse de Marius, vous pouvez fournir l'expression régulière ET le nom du paramètre:
app.get('/:id(\\d+)/', function (req, res){
// req.params.id is now defined here for you
});
Oui, consultez http://expressjs.com/guide/routing.html et https://www.npmjs.com/package/path-to-regexp ( qui expriment des utilisations). Une version non testée qui peut fonctionner est:
app.get(/^(\d+)$/, function (request, response) {
var id = request.params[0];
...
});
Vous pouvez utiliser:
// /12345
app.get(/\/([^\/]+)\/?/, function(req, res){
var id = req.params[0];
// do something
});
ou ca:
// /post/12345
app.get(/\/post\/([^\/]+)\/?/, function(req, res){
var id = req.params[0];
// do something
});