I have a route on my Express app that looks like this:
app.get('/:id', function (request, response) {
…
});
The ID will always be a number. However, at the moment this route is matching other things, such as /login
.
I think I want two things from this:
/login
).Can this be done?
Expanding on Marius's answer, you can provide the regex AND the parameter name:
app.get('/:id(\\d+)/', function (req, res){
// req.params.id is now defined here for you
});
Yes, check out http://expressjs.com/guide/routing.html and https://www.npmjs.com/package/path-to-regexp (which express uses). An untested version that may work is:
app.get(/^(\d+)$/, function (request, response) {
var id = request.params[0];
...
});