(节点:23424)UnhandledPromiseRejectionWarning:ReferenceError:正文未定义

时间:2020-07-07 12:44:38

标签: javascript node.js json express

在这里和在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' }));

4 个答案:

答案 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这两个模块中都有此变量。现在就可以了!