api 调用未收到请求正文

No request body recieved from api call

这是我的 server.js -

const express = require("express");
const connectDB = require("./api/config/db");
const feedbackRouter = require("./api/routes/feedbackRouter");

const app = express();

const PORT = process.env.PORT || 5000;

connectDB();

app.use(feedbackRouter);

app.listen(PORT, () => {
  console.log(`SERVER IS LIVE AT ${PORT}`);
});

路由器(feedbackRouter.js)-

const express = require("express");
const router = express.Router();

router.post("/feedback", (req, res) => {
  const feedbackData = req.body;
  try {
    console.log(feedbackData);
    res.send(feedbackData);
  } catch (error) {
    res.status(400).send(error);
  }
});

module.exports = router;

当我从前端 (React) 或 Postman 发出 API 调用时,req.body 给我未定义的结果,我在任何地方都看不到请求的内容。

API 调用在 Postman 中给我状态码 200。

知道这里可能出了什么问题吗?提前致谢。

app.use(express.json()) 添加到您的代码中。

Server.js:

const express = require("express");
const connectDB = require("./api/config/db");
const feedbackRouter = require("./api/routes/feedbackRouter");

const app = express();

const PORT = process.env.PORT || 5000;
app.use(express.json())

connectDB();

app.use(feedbackRouter);

app.listen(PORT, () => {
    console.log(`SERVER IS LIVE AT ${PORT}`);
});

关于 express.json() 方法及其选项:

https://expressjs.com/en/5x/api.html

您没有使用任何主体解析器,它们用于处理请求的主体,文档:

http://expressjs.com/en/resources/middleware/body-parser.html

邮递员请求和响应: