Expreso conflicto de ruta parametrizada

Tengo dos rutas en la aplicación Express 4.13:

router.get('/:id', function (req, res) { }); router.get('/new', function(req,res){ }); 

Pero cuando bash acceder /new , obtengo 404, porque no hay ningún objeto ‘nuevo’. Entonces, ¿cómo puedo cambiar la configuración a la que puedo acceder / nueva ruta sin confusión con la ruta /: id?

Gracias.

Debe agregar una función para verificar el parámetro y colocar /new enrutador antes de /:id :

 var express = require('express'), app = express(), r = express.Router(); r.param('id', function( req, res, next, id ) { req.id_from_param = id; next(); }); r.get("/new", function( req, res ) { res.send('some new'); }); // route to trigger the capture r.get('/:id', function (req, res) { res.send( "ID: " + req.id_from_param ); }) app.use(r); app.listen(3000, function () { }) 

Hazlo asi . Api dynamic debe estar en la parte inferior

 router.get('/new', function(req,res){ }); router.get('/:id', function (req, res) { });