检查 req.body 是否为空不适用于 express

Check if req.body is empty doesnt work with express

我试图在 postman 中用空主体测试我的登录请求,但此检查不起作用。它超越并执行其余代码。为什么 ? 还有另一种方法可以检查正文是否为空吗?

route.post("/login", (req, res) => {
  console.log(req.body);
  if (!req.body) {
    console.log("I am here");
    res.status(400).send({ message: "Content cannot be empty" });
    return;
  }
... // check password etc
}

您可以查看 req.body 有多少个键

if (Object.keys(req.body).length === 0) {
    console.log("I am here");
    res.status(400).send({ message: "Content cannot be empty" });
    return;
}

您可以检查正文的长度:if (Objects.keys(req.body).length === 0) {

您可以使用:

if(Object.keys(req.body).length === 0)

Object.getOwnPropertyNames(req.body).length == 0

然后添加你的逻辑。