BodyParser 导致所有 API 请求挂起。甚至基本的 GET 请求
BodyParser causes all API requests to hang. Even basic GET requests
正如标题所说,我根本不明白这是怎么回事。一旦我包含 app.use(bodyParser.json)
行,Postman 就会继续处理我提出的任何请求。我以为我搞砸了我的路线,所以我失去了一天的大部分时间。
我在这个小测试文件中缩小了范围:
const express = require("express")
const bodyParser = require("body-parser")
const env = require("dotenv");
const app = express()
env.config();
app.use(bodyParser.json);
app.get("/", (req, res) => {
res.status(200).json({
message:"Hello World"
})
});
app.post("/data", (req, res) => {
req.status(200).json({
message: req.body
})
});
app.listen(process.env.PORT, ()=>{
console.log(`Server listening at port ${process.env.PORT}`);
})
谁能告诉我这是怎么回事,我该如何解决?
您需要将 JSON 正文解析器作为函数调用(带括号):
app.use(bodyParser.json());
post 方法“数据”中存在另一个错误,您应该从“res”对象调用状态:
app.post("/data", (req, res) => {
res.status(200).json({
message: req.body
})
});
正如标题所说,我根本不明白这是怎么回事。一旦我包含 app.use(bodyParser.json)
行,Postman 就会继续处理我提出的任何请求。我以为我搞砸了我的路线,所以我失去了一天的大部分时间。
我在这个小测试文件中缩小了范围:
const express = require("express")
const bodyParser = require("body-parser")
const env = require("dotenv");
const app = express()
env.config();
app.use(bodyParser.json);
app.get("/", (req, res) => {
res.status(200).json({
message:"Hello World"
})
});
app.post("/data", (req, res) => {
req.status(200).json({
message: req.body
})
});
app.listen(process.env.PORT, ()=>{
console.log(`Server listening at port ${process.env.PORT}`);
})
谁能告诉我这是怎么回事,我该如何解决?
您需要将 JSON 正文解析器作为函数调用(带括号):
app.use(bodyParser.json());
post 方法“数据”中存在另一个错误,您应该从“res”对象调用状态:
app.post("/data", (req, res) => {
res.status(200).json({
message: req.body
})
});