[英]Empty body with express and nodejs
我正在尝试使用 mongoose 通过 express 和 node js 插入新记录。
我的配置是我的 app.js:
import express from 'express';
import morgan from 'morgan';
import cors from 'cors';
import path from 'path';
const app = express();
// Conexión base de datos
const mongoose = require('mongoose');
const uri = 'mongodb://localhost:27017/marcosgarciatfg';
const options = {useNewUrlParser: true, useCreateIndex: true};
// Or using promises
mongoose.connect(uri, options).then(
/** ready to use. The `mongoose.connect()` promise resolves to mongoose instance. */
() => {
console.log('Conectado a DB');
},
/** handle initial connection error */
err => {
console.log(err);
}
);
app.use('/api', require('./routes/nota.js'));
//Middleware
app.use(morgan('tiny'));
app.use(cors());
app.use(express.json());
app.use(express.urlencoded({ extended: true }));
//app.use(express.static(path.join(__dirname, 'public')));rs
// Rutas
app.get('/', (req, res) => {
res.send('Hello Wooooorld!');
});
这是我关于路线的 nota.js:
import express from 'express';
const router = express.Router();
// importar el modelo nota
import Nota from '../models/nota';
// Agregar una nota
router.post('/nueva-nota', async(req, res) => {
const body = req.body;
try {
console.log('body: ' + body);
const notaDB = await Nota.create(body);
res.status(200).json(notaDB);
} catch (error) {
return res.status(500).json({
mensaje: 'Ocurrio un error',
error
});
}
});
这在 Postman 上始终返回200:OK
且响应为空,并且在控制台日志中,正文始终未定义。 我做错了什么?
在使用路由之前,您需要应用 express.json() 中间件。
//Middleware
app.use(morgan('tiny'));
app.use(cors());
app.use(express.json());
app.use(express.urlencoded({ extended: true }));
app.use('/api', require('./routes/nota.js'));
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.