Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

267
Vistas
¿Cómo puedo hacer que el enrutador Express funcione de esta manera?

Estoy haciendo un proyecto para la escuela, necesito crear una API Rest para un blog con Node.js. Los usuarios pueden publicar artículos y publicar comentarios relacionados con estos artículos. Para este proyecto estoy usando Sequelize y Express.

En mi tabla de " comentarios ", hay una columna de " artículo " que contiene el título del artículo donde se publicaron los comentarios. Así que estoy usando una URL como la siguiente para obtener la identificación del artículo y luego el título: /articles/:id/comments

La forma en que quería que fuera la estructura del enrutador es la siguiente:

  • para publicar un comentario -> POST localhost/articles/:id/comments
  • para enumerar todos los comentarios de un artículo específico -> GET localhost/articles/:id/comments
  • para enumerar todos los comentarios de todo el blog -> GET localhost/articles/comments

El problema es que cuando realizo una solicitud GET localhost/articles/comments , el enrutador activa esta parte del código que conduce a Sequelize BAD_FIELD_ERROR:

archivo: rutas/artículo.js

 router.get("/:id", (req, res) => { const id = parseInt(req.params.id); Article.findByPk(id).then((article) => { if (!article) res.sendStatus(404); else res.json(article); }); });

En lugar de esta parte:

archivo: rutas/artículo.js

 router.get("/comments", (req, res) => { const Query = req.query; Comment.findAll({ where: Query }).then((comments) => res.json(comments)) });

Este es el archivo server.js :

 const express = require("express"); const securityRouter = require("./routes/security"); const userRouter = require("./routes/user"); const articleRouter = require("./routes/article"); const verifyWebToken = require("./middleware/verifyWebToken"); const app = express(); const connection = require("./lib/db"); connection.sync(); app.use(express.json()); app.use("", securityRouter); app.use("/users", userRouter); app.use("/articles", verifyWebToken, articleRouter); app.listen(3000, () => console.log("Server is listening."));
about 4 years ago · Santiago Trujillo
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda