除getEmployees以外,其他所有路由均正常工作,它显示“内部服务器错误!”

问题描述

我所有其他路线都工作正常,但是当我尝试从数据库中获取雇员无效时,我尝试了另一种方法来获取我的雇员,即在app.js中使用app.get方法,它起作用了,但是当我尝试将其与控制器一起使用并进行路由,它甚至都不会到达路由!请帮忙!谢谢!

app.js

const express = require('express')
const app = express();
const appUserRoute = require('./routes/appuserRoute')
const employeeRoute = require('./routes/employeeRoute')

require('./db/mongoose')
app.use(express.json())


if(process.env.NODE_ENV!=="production"){
    app.use(morgan('dev'))
}

app.use('/appusers',appUserRoute)


app.use('/appusers/employees',employeeRoute)


//start server
app.listen(PORT,console.log(`Server running in ${process.env.NODE_ENV } mode on port ${PORT}`.green)
)
   

employeeRoute.js

  const express = require('express')
const router = express.Router();
const {getEmployees,getEmployee,createEmployee,updateEmployee,deleteEmployee } = require('../controllers/employeeController')
router
.route('/')
.get(getEmployees)
.post(createEmployee)

router
.route('/:id')
.get(getEmployee)
.patch(updateEmployee)
.delete(deleteEmployee)


module.exports = router

employeeController.js

const Employee = require('../Models/employee')
exports.getEmployees = async (req,res) => {
    try {
        const employees = await Employee.find({})
       if(!employees){
        res.status(404).json({
            message:'Not Data Found!'
        })
       }
        res.status(200).json({
            message:'Data Found!',data:employees
        })
    } catch (e) {
        res.status(500).send()
    }
}

mongoose.js

const mongoose = require('mongoose')
mongoose.connect('mongodb://127.0.0.1:27017/MagicInventory-api',{
    useNewUrlParser: true,useCreateIndex: true,useFindAndModify: false,useUnifiedTopology: true
}).then(() => console.log("Connected".green))
.catch(err => console.log(err.red));

员工模型

const mongoose = require('mongoose');
var validator = require('validator');
const employeeSchema = new mongoose.Schema({
    firstName: {
        type: String,required: [true,'please specify First Name'],trim: true,maxlength: [20,'FirstName cannot be more than 20 characters!']
    },lastName: {
        type: String,// maxlength: [20,'lastName cannot be more than 20 characters!']
    },email: {
        type: String,lowercase: true,// unique: true,// required: [true,'Email address is required'],// validate: {
        //     validator: validator.isEmail,//     message: 'invalid email',// }
    },maritalStatus: {
        type: String,// required:[true,'Choose the Gender']
    },dateOfBirth: {
        type: Date,'Date of Birth is required!']
    },profile: {
        type: String,lowercase: true
    },contactDetails: {
        adressLine1: {
            type: String
        },adressLine2: {
            type: String
        },city: {
            type: String
        },state: {
            type: String
        },zipCode: {
            type: Number
        },country: {
            type: String
        },contact: {
            type: Number,match: [
                /^\(?([0-9]{3})\)?[-. ]?([0-9]{3})[-. ]?([0-9]{4})$/,'Phone number is not valid!'
            ]
        },},bankDetails:{
        bankName:{
            type:String,accountNumber:{
            type:Number
        },accountName:{
            type:String
        },ifscCode:{
            type:String
        }

    },dateOfJoining:{
        type: Date,createdAt: {
        type: Date,default: Date.now
    },});


module.exports = mongoose.model('Employee',employeeSchema)

解决方法

问题解决了!我在写路线时弄错了! 实际路线应为:-app.use('/ employees',employeeRoute);

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...