Node.js-req.body空对象

时间:2020-01-23 16:57:55

标签: javascript node.js express

我有此代码:

const bodyParser = require("body-parser");
const express = require("express");
const app = express();

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

app.post("/api/foo", (request, response) => {
  let foo = {
    fooName: request.body.fooName
  };
  console.log(request.body);
  console.log(foo);
  response.send(foo);

});

通过邮递员发出POST请求时,我可以在控制台日志中看到req.body设置为空对象{},myVar设置为undefined

有什么想法我在做什么错吗?

这些是我在Firefox中使用RESTClient时的屏幕截图

enter image description here

当我设置fooName时,它会像这样被添加到主体部分,然后点击提交

enter image description here

这就是我在终端中得到的

enter image description here

1 个答案:

答案 0 :(得分:1)

??‍?您可以使您的简单API 看起来像下面below所示的代码:

const express = require('express');

const app = express();

app.use(express.json());
app.use(express.urlencoded({ extended: true }));

app.post('/api/foo', (req, res) => {
  const { fooName } = req.body;
  let myVar = { fooName };
  console.log(req.body)
  console.log(myVar);
  res.send(myVar);
});

app.listen(3000, () => {
  console.log('Server is up');
})

⏱现在,您可以调用端点:`localhost:3000 / api / foo

?请确保,如果您使用的是邮递员,请不要忘记,然后再将json object添加到body发送请求。

例如:在邮递员中,您可以看到以下图片strong

enter image description here

我希望它能为您提供帮助。