POST-запрос возвращает неопределенное значение - PullRequest
0 голосов
/ 22 июня 2019

Когда запрос от почтальона инициируется с помощью json, как указано ниже, я получаю hello undefined в качестве ответа.

запрос JSON

{
"name":"test"
}

мое промежуточное ПО

import express from 'express';
import bodyParser from 'body-parser';

const app = express();
app.use(bodyParser.json());

app.get('/hello', (req, res)=>{
  return res.send("hello");
});

app.post('/hello', (req, res)=>{
  console.log(req.body);
  return res.send(`hello ${req.body.name}`);
})

app.listen(8000, () => console.log('listening on port 8000'));

запустил сервер с помощью следующей команды

npx babel-node src/server.js

Ответы [ 2 ]

2 голосов
/ 22 июня 2019

Начиная с Express 4.16.0 вы можете использовать app.use (express.json ()); чтобы получить данные json из запроса, в вашем случае это будет. Вам не нужно использовать bodyparser и все.

const app = express();
app.use(bodyParser.json()); // remove this
app.use(express.json())// add this line
1 голос
/ 22 июня 2019

На самом деле проблема не с кодом. Клиент Postman, отправивший запрос, не пометил его как запрос типа application/json. Как только я исправил это, это просто работало как ожидалось.

...