Aleksandr-JS-Developer
@Aleksandr-JS-Developer
Работает? Не трогай.

Не работает body-parser?

Создаю приложение, чтобы разобраться с REST API с помощью стэка JS, NodeJS. Фронт на Vue, если это важно.
На стороне серва юзаю express.js
Начиная с версии 4 они выпилили body-parser из самого express и его надо подключать отдельно.

Подключил body-parser, но он не работает. req.body === undefined

app.js (node)
const express = require( 'express' );
const path = require( 'path' );
const app = express();
const bodyParser = require('body-parser');

const CONTACTS = [
    { id:1, name: 'Test', value: 'test', marked: false }
];

app.get( '/api/contacts', ( req, res ) => {
    res.status( 200 ).json( CONTACTS );
});

app.post( '/api/contacts', (req, res) => {
    console.log( req.body ); // undefined
    res.json( CONTACTS ); // all ok
})

app.use( bodyParser.json() );
app.use( bodyParser.urlencoded({ extended: false }));

app.use( express.json() );
app.use( express.static( path.resolve( __dirname, 'client' )));
app.get( "*", (req, res) => {
    res.sendFile( path.resolve( 'client', 'index.html' ) )
});
app.listen( 3000, () => console.log( '3000...' ) );


Много гуглил, ничего не помогло. Такое ощущение, что ошибка на уровне "Объявил, но не вызвал".
  • Вопрос задан
  • 63 просмотра
Решения вопроса 1
wapster92
@wapster92
Ты запросы принимаешь раньше, чем объявляет мидвеир боди парсера, перенеси роуты к вызову сервера.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы