我知道有幾個版本,但我似乎找不到適合我的解決方案。我的服務器似乎沒有看到我的路由檔案中的所有路由。它只匹配第一個。
索引.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}`))
推文路由.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;
在這種情況下,唯一可訪問的路由是第一個fetchTweets。即使當我使用fetchTweet路由傳遞 ID 引數以獲取單個推文時,它也會路由到第一條路由。其他路由回傳404。
我可能做錯了什么?任何幫助都受到高度贊賞。
uj5u.com熱心網友回復:
感謝您提供用于測驗 fetchTweet 路由的 URL。
您應該使用以下路徑來到達所需的路線:
127.0.0.1:3000/api/tweets/61b9af93e88ee4de51c28b95
參考:
- https://expressjs.com/en/guide/routing.html
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/386320.html
標籤:javascript 节点.js 表达 路线
