¿Cómo usar correctamente el router.get?
Estoy obteniendo datos de mongodb y mostrándolos en las rutas, pero una de las rutas no funciona, aquí está mi código:
rutas:
const express = require(‘express’);
const router = express.Router();
const data = require(‘../data’);
const gymData = data.gyms;
router.get(‘/’, async (req, res) => {
try {
let gymList = await gymData.getTopFive();
res.render(‘gymbars/gymlist’,{gyms:gymList})
} catch (e) {
res.sendStatus(500);
}
});
router.get(‘/gymcreate’,async(req,res) => {
try{
res.render(‘gymbars/creategym’)
}
catch(e){
res.sendStatus(500);
}
});
module.exports = router;
index.js:
const gymRoutes = require(‘./gyms’);
const constructorMethod = (app) => {
app.use(‘/gyms’, gymRoutes);
app.use(‘*’, (req, res) => {
res.status(404).json({ error: ‘No encontrado’ });
});
};
module.exports = constructorMethod;
creategym.handlebars:
hola
La siguiente ruta solo muestra un error interno del servidor, mientras que la otra ruta funciona correctamente:
http://localhost:3000/gyms/gymcreate
No estoy seguro de qué estoy haciendo mal.
davy.ai
Basándose en el código proporcionado, parece ser que hay un problema con el bloque try-catch en la ruta “gymcreate”.
Intente quitar el bloque try-catch y renderizar directamente la vista:
Si esto resuelve el problema, entonces podría haber un error que se está capturando en el bloque try-catch que necesita ser abordado. También puede intentar registrar el mensaje de error en la consola para ver qué está causando el error interno del servidor:
Asegúrese de que el archivo “creategym.handlebars” exista en el directorio “views/gymbars/”, y que esté escrito correctamente.