Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

265
Views
¿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
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!