javascript 为什么我的API无法正常工作?error请求无效

kr98yfug  于 2023-01-04  发布在  Java
关注(0)|答案(1)|浏览(121)

为什么我的api没有按预期工作?错误无效的请求我正在测试我的api在 Postman 软件,但它不工作,它显示我错误无效的请求有人能告诉什么问题吗?
后端:

router.post('/save', (req, res) => {
  if (!req.user || !req.user.email || !req.body || !req.body.city) {
    return res.status(400).json({ error: 'Invalid request' });
  }

  const city = req.body.city;
  const email = req.user.email;

  User.findOneAndUpdate({ email: email }, { city: city }, (err, user) => {
    if (err) {
      return res.status(500).json({ error: err.message });
    }
    res.json({ message: 'City saved successfully' });
  });
});

我是这样做后请求:

{
  "email": "myemail@gmail.com",
  "city": "New York"
}

并在事后请求中尝试:

{
  "city": "New York"
}
kupeojn6

kupeojn61#

我认为这是因为你的条件。req.user & req.user.email可能是认证的中间件。你必须添加中间件到你的路由或使用这个---〉

router.post('/save', (req, res) => {
  if (!req.body || !req.body.city) {
    return res.status(400).json({ error: 'Invalid request' });
  }

  const city = req.body.city;
  const email = req.user.email;

  User.findOneAndUpdate({ email: email }, { city: city }, (err, user) => {
    if (err) {
      return res.status(500).json({ error: err.message });
    }
    res.json({ message: 'City saved successfully' });
  });
});

相关问题