Sé que hay varias versiones de esto, pero parece que no puedo encontrar una solución para la mía. Mi servidor no parece ver todas las rutas en mi archivo de rutas. Solo coincide con el primero.
índice.js
import express from 'express' import mongoose from 'mongoose' import dotenv from "dotenv"; import tweetRoutes from "./src/routes/tweetRoutes.js"; dotenv.config(); const app = express(); const PORT = process.env.PORT || 5000; app.use(express.json()); // Routes app.use("/api/tweets", tweetRoutes); // DB connection mongoose.connect(process.env.DB_URI, { useNewUrlParser: true, useUnifiedTopology: true, }); mongoose.connection.on("connected", () => console.log("DB Connection Established!") ); // Server app.listen(PORT, () => console.log(`Server listening on: ${PORT}`))tweetRoutes.js
import { Router } from 'express' import { createTweet, fetchTweets, fetchTweet, updateTweet, deleteTweet, } from "../controller/tweetController.js"; const router = Router(); router.get("/", fetchTweets); router.get("/:id", fetchTweet); router.post("/create-tweet", createTweet); router.patch("/:id", updateTweet); // Not working router.delete("/:id", deleteTweet); // Not working export default router;En este caso, la única ruta accesible es la primera, fetchTweets . Incluso cuando paso un parámetro de ID para obtener un solo tweet usando la ruta fetchTweet , se enruta a la primera ruta. Las otras rutas devuelven un 404 .
¿Qué podría estar haciendo mal? Cualquier ayuda es muy apreciada.
Gracias por proporcionar la URL que utilizó para probar la ruta fetchTweet.
En su lugar, debe usar la siguiente ruta para llegar a la ruta deseada:
127.0.0.1:3000/api/tweets/61b9af93e88ee4de51c28b95Referencia: