尝试将快速 API 代码移动到控制器文件
Trying to move express API code to controller file
我在这里遗漏了一些明显的东西。
在我的 routes/api 文件中工作正常(我从 mongodb 获得了预期的用户)
const User = require("../../database/models/User");
router.get("/getUsers", async(req, res) => {
try {
const users = await User.find();
res.status(200).json(users)
} catch (error) {
res.status(404).json({ message: error.message });
}
我正在尝试将此代码移动到控制器文件中。
const getUsers = require ('./../../controllers/users_controller');
router.get("/getUsers", getUsers);
我将控制器文件导入 routes/api
const User = require('../database/models/User');
module.exports = () => {
getUsers = async(req, res) => {
try {
console.log ("getting users");
const users = await User.find();
// res.status(200).json(users);
console.log("users:", users);
res.status(200).json(users)
} catch (error) {
res.status(404).json({ message: error.message });
}
}
当我调出与第一个示例相同的端点时,我在 PostMan 中收到错误读取 ECONNRESET。任何帮助将不胜感激。
在控制器中像这样尝试
const User = require('../database/models/User');
const getUsers = async(req, res ,next) => {
try {
console.log ("getting users");
const users = await User.find();
// res.status(200).json(users);
console.log("users:", users);
res.status(200).json(users)
} catch (error) {
res.status(404).json({ message: error.message });
}
}
exports.getUsers = getUsers;
在路由文件中
const usersController = require ('./../../controllers/users_controller');
router.get("/getUsers", usersController.getUsers);
如果控制器中有多个函数:
const User = require('../database/models/User');
const getUsers = async(req, res ,next) => {
//do somethings
}
const getUserById = async(req, res ,next) => {
//do somethings
}
exports.getUsers = getUsers;
exports.getUserById = getUserById;
在路由文件中
const usersController = require ('./../../controllers/users_controller');
router.get("/getUsers", usersController.getUsers);
router.get("/getUsers/:id", usersController.getUserById);
我在这里遗漏了一些明显的东西。
在我的 routes/api 文件中工作正常(我从 mongodb 获得了预期的用户)
const User = require("../../database/models/User");
router.get("/getUsers", async(req, res) => {
try {
const users = await User.find();
res.status(200).json(users)
} catch (error) {
res.status(404).json({ message: error.message });
}
我正在尝试将此代码移动到控制器文件中。
const getUsers = require ('./../../controllers/users_controller');
router.get("/getUsers", getUsers);
我将控制器文件导入 routes/api
const User = require('../database/models/User');
module.exports = () => {
getUsers = async(req, res) => {
try {
console.log ("getting users");
const users = await User.find();
// res.status(200).json(users);
console.log("users:", users);
res.status(200).json(users)
} catch (error) {
res.status(404).json({ message: error.message });
}
}
当我调出与第一个示例相同的端点时,我在 PostMan 中收到错误读取 ECONNRESET。任何帮助将不胜感激。
在控制器中像这样尝试
const User = require('../database/models/User');
const getUsers = async(req, res ,next) => {
try {
console.log ("getting users");
const users = await User.find();
// res.status(200).json(users);
console.log("users:", users);
res.status(200).json(users)
} catch (error) {
res.status(404).json({ message: error.message });
}
}
exports.getUsers = getUsers;
在路由文件中
const usersController = require ('./../../controllers/users_controller');
router.get("/getUsers", usersController.getUsers);
如果控制器中有多个函数:
const User = require('../database/models/User');
const getUsers = async(req, res ,next) => {
//do somethings
}
const getUserById = async(req, res ,next) => {
//do somethings
}
exports.getUsers = getUsers;
exports.getUserById = getUserById;
在路由文件中
const usersController = require ('./../../controllers/users_controller');
router.get("/getUsers", usersController.getUsers);
router.get("/getUsers/:id", usersController.getUserById);