如何解决没有从 api 调用收到请求正文
这是我的 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
给我 undefined 并且我在任何地方都看不到请求的内容。
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
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。