Saltar al contenido

¿Cómo obtener todas las rutas registradas en Express?

Solución:

expreso 3.x

De acuerdo, lo encontré yo mismo … es solo app.routes 🙂

expreso 4.x

Aplicaciones: construido con express()

app._router.stack

Enrutadores: construidos con express.Router()

router.stack

Nota: La pila también incluye las funciones de middleware, debe filtrarse para obtener la “rutas” solamente.

app._router.stack.forEach(function(r){
  if (r.route && r.route.path){
    console.log(r.route.path)
  }
})

Esto hace que las rutas se registren directamente en la aplicación (a través de app.VERB) y las rutas que se registran como middleware de enrutador (a través de app.use). Express 4.11.0

//////////////
app.get("/foo", function(req,res){
    res.send('foo');
});

//////////////
var router = express.Router();

router.get("/bar", function(req,res,next){
    res.send('bar');
});

app.use("https://foroayuda.es/",router);


//////////////
var route, routes = [];

app._router.stack.forEach(function(middleware){
    if(middleware.route){ // routes registered directly on the app
        routes.push(middleware.route);
    } else if(middleware.name === 'router'){ // router middleware 
        middleware.handle.stack.forEach(function(handler){
            route = handler.route;
            route && routes.push(route);
        });
    }
});

// routes:
// {path: "/foo", methods: {get: true}}
// {path: "/bar", methods: {get: true}}
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *