在这里和在github中我读了太多答案,但是我无法解决我的问题。这里是, 使用邮递员: POST-> http:// localhost:3000 / api / employees; 标头:内容类型application / json
简单的json: { “ city”:“纽约”, “名称”:“约瑟夫” }
并且我在node_modules中安装了主体解析器
const bodyParser = require('body-parser');
app.set('port', process.env.PORT || 3000)
app.use(express.json());
app.use(bodyParser.json({ type: 'application/*+json' }));
app.use(bodyParser.raw({ type: 'application/vnd.custom-type' }));
app.use(bodyParser.text({ type: 'text/html' }));
答案 0 :(得分:0)
const express = require('express');
const morgan = require('morgan');
const cors = require('cors');
const app = express();
const { Mongoose } = require ('./database');
app.set('port', process.env.PORT || 3000);
app.use(morgan('dev'));
app.use(express.json());
app.use('/api/employees', require('./routes/employee.routes'));
app.listen (app.get('port'), () => {
console.log(`server on port ${app.get('port')}`);
}
)
答案 1 :(得分:0)
谢谢你们。 这是请求后服务器中的响应:
POST / api /员工--ms-- (节点:23604)UnhandledPromiseRejectionWarning:ReferenceError:正文未定义。
这是第二次尝试:
const express = require('express');
const morgan = require('morgan');
const cors = require('cors');
const bodyParser = require('body-parser');
const app = express();
const { Mongoose } = require ('./database');
app.set('port', process.env.PORT || 3000); // Así luego se puede invocar "port", con el puerto que sea.
app.use(morgan('dev'));
app.use(bodyParser.json({ type: 'application/*+json' }));
app.use(bodyParser.raw({ type: 'application/vnd.custom-type' }));
app.use(bodyParser.text({ type: 'text/html' }));
app.use('/api/employees', require('./routes/employee.routes'));
app.listen (app.get('port'), () => {
console.log(`server on port ${app.get('port')}, majete`);
}
)
答案:
POST / api /员工--ms-- (节点:18328)UnhandledPromiseRejectionWarning:ReferenceError:正文未定义
这是控制器:
employeeCtrl.createEmployee = async (req, res) => {
console.log(req, body);
console.log("Estoy en crear employee");
const employee = new Employee({
name: req.body.name,
position: req.body.position,
office: req.body.office,
salary: req.body.salary
});
await employee.save();
res.json({ 'status': 'Employee saved' });
};
答案 2 :(得分:0)
对不起,如果我没有解释清楚。 问题出在控制器上,当我创建一个简单的“ console.log(req,body)”
答案 3 :(得分:0)
最后我明白了... 我有2个模块,index.js和controller.js。 有必要在controller.js中声明变量
const bodyParser = require ('body-parser');
我在index.js和controller.js这两个模块中都有此变量。现在就可以了!