【发布时间】: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...");
});
【问题讨论】:
-
您正在使用
/matches2 次,一次在定义路由器时,一次在将其分配给应用程序时,检查点击/matches/matches是否命中您的端点。