Express js bodyparser post req.body не работает? - PullRequest
0 голосов
/ 07 апреля 2019

Я пытаюсь построить API с экспресс-запросом js post. Я использую body-parser для req.body. Но после отправки почтового запроса я не смог получить сообщение, которое все еще загружается, а затем показать тайм-аут. где моя проблема, пожалуйста, посмотрите мой код. Я тестирую его из почтальона и использую в заголовочном приложении типа / json.

const express = require('express');
const bodyParser = require('body-parser');
const config = require('./config/config.js').get(process.env.NODE_ENV);
const mongoose = require('mongoose');
const app = express();
mongoose.connect(config.DATABASE)
const {Book} = require('./models/book')

app.use(bodyParser.json())

// Post Book
app.post('api/book', (req,res)=>{
    let book = new Book(req.body)

    book.save((err, doc)=>{
        if(err) return res.status(400).send(err);
        res.status(200).json({
            post:true,
            bookId: doc._id
        })
    })
})

Теперь ошибка показывает - не может опубликовать / API / книги но когда я пытаюсь с этим кодом ниже, он работает -

const book = new Book({ name: 'Zildjian' });
book.save().then(() => console.log('data save'));

1 Ответ

2 голосов
/ 08 апреля 2019

Измените свой маршрут с api/book на /api/book - добавьте ведущий /.

Кроме того, похоже, что время истекло, поскольку он не может передать ваш cookie-parser middleware.

Вы прошли функцию:

app.use(cookieParser)

... но вам нужно вызвать ее:

app.use(cookieParser())

Вы такженужно импортировать его:

const cookieParser = require('cookie-parser')

... или просто полностью удалить его, если он вам не нужен.

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...