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() 方法及其选项:
您没有使用任何主体解析器,它们用于处理请求的主体,文档:
http://expressjs.com/en/resources/middleware/body-parser.html
邮递员请求和响应:
这是我的 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() 方法及其选项:
您没有使用任何主体解析器,它们用于处理请求的主体,文档:
http://expressjs.com/en/resources/middleware/body-parser.html
邮递员请求和响应: