Пустое тело с express и nodejs - PullRequest
1 голос
/ 22 марта 2020

Я пытаюсь вставить новую запись express и node js, используя mon goose.

Моя конфигурация - мое приложение. 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!');
});

И это моя нота. 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
    });
  }
});

Это всегда возвращает 200:OK для Почтальона с пустым ответом, а в журнале консоли тело всегда не определено. Что я делаю не так?

1 Ответ

1 голос
/ 22 марта 2020

Вам необходимо применить промежуточное ПО 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'));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...