У меня есть файл server.js, где у меня есть trainer route
, который используется для создания некоторых маршрутов в экспрессе, но всякий раз, когда я запускаю программу, она выдает мне typeError
firstName: req.body.firstName, ^
TypeError: Cannot read property 'body' of undefined
вот мой весь файл server.js. Я настроил правильные bodyparsers для экспресс, но он все еще выдает мне ту же ошибку
Server.js
const express = require('express');
const properties = require('./config/properties');
const db = require('./config/database');
const app = express();
const bodyParser = require('body-parser');
const log = require('morgan')('dev');
const cors = require('cors');
// call the database connectivity function
db();
//configure middleware
app.use(log);
app.use(cors());
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: false }));
//parsers
const router = express.Router();
//routes
const trainerRoutes = require('./api/trainers/trainer.routes');
//configure routes
app.use('/api', router);
trainerRoutes(router);
app.listen(properties.PORT, (req, res)=>{
console.log(`Server running on ${properties.PORT} port`)
});
почему возникает эта проблема?
РЕДАКТИРОВАТЬ:
вот функция, в которой происходит ошибка, это в файле trainer.controller.js:
exports.updateTrainer = function(req, res, next) {
const trainer = {
firstName: req.body.firstName,
lastName: req.body.lastName,
biography: req.body.description,
certificates: req.body.certificates
};
Trainer.update({_id: req.params.id}, trainer, function(err, trainer) {
if(err) {
res.json({
error : err
//should make a log message here
})
}
res.json({
message : "Trainer updated successfully"
})
})
};
файл trainer.routes.js
module.exports = function(router) {
router.post('/create', Trainer.createTrainer);
router.get('/get', Trainer.getAllTrainers);
router.get('/get/:name', Trainer.getTrainer);
router.put('/update/:id', Trainer.updateTrainer());
router.delete('/remove/:id', Trainer.removeHero());
};