【问题标题】:my function does not execute by the router我的功能不由路由器执行
【发布时间】:2021-02-05 00:19:18
【问题描述】:

我有一个路由器,它应该在用户想要访问 /matches URL 时执行我的功能,但它没有 这是我的控制器,我的函数写在那里

const matchModel = require(`./../models/matchModel`);
//This function will get  matches
exports.getMatches = async (req, res) => {
   const matches = await matchModel.find();
   res.status(200).json({
     status: "success",
     results: matches.length,
     data: {
       matches,
     },
   });
};

这是我的路由处理程序,应该在控制器中执行函数

const express = require("express");
const matchController = require(`./../controllers/matchController`);
const router = express.Router();

router.route("/matches").get(matchController.getMatches);

module.exports = router;

这是我将 URL 添加到中间件的应用文件

const express = require("express");
const matchRouter = require(`./routes/matchRoutes`);
const app = express();
app.use(express.json());
//importing routers
app.use("/matches", matchRouter);

module.exports = app;

毕竟,我运行这个 server.js 文件来运行我的应用程序

const mongoose = require("mongoose");
const dotenv = require("dotenv");
//setting up dotenv setting and
dotenv.config({ path: "./config.env" });
const conString = process.env.DATABASE_CON_STRING;
const port = process.env.PORT;

const app = require(`./app`);

mongoose
  .connect(conString, {
    useNewUrlParser: true,
    useCreateIndex: true,
    useFindAndModify: false,
    useUnifiedTopology: true,
  })
  .then(() => {
    console.log("connection to DB has been established successfully!");
  });

app.listen(port, () => {
  console.log("server is running...");
});

【问题讨论】:

  • 您正在使用/matches 2 次,一次在定义路由器时,一次在将其分配给应用程序时,检查点击/matches/matches 是否命中您的端点。

标签: node.js express mongoose


【解决方案1】:

您正在/matches 下加载路由器 app.use("/matches", matchRouter);

然后你在那个路由器下加载/matches 路由 router.route("/matches").get(matchController.getMatches);

这将使路由/matches/matches

您可能希望它是router.route('')。这将是/matches 路由器下的索引路由。

【讨论】:

  • 天哪,真是个愚蠢的错误,谢谢你的帮助,你拯救了我的一天❤
猜你喜欢
  • 2021-09-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-01-13
  • 2018-01-09
  • 1970-01-01
相关资源
最近更新 更多