【问题标题】:Postman Returns HTML which shows can not Post even though my API route is correct即使我的 API 路由正确,邮递员返回的 HTML 也显示无法发布
【发布时间】:2020-08-29 07:29:40
【问题描述】:

当我从邮递员发出 Post API 请求时,它返回的 HTML 显示不能 POST,这意味着我的 API 有问题,但我认为我的 API 是正确的。

// @route    POST api/posts/comment/:id
// @desc     Comment on a post
// @access   Private
router.post(
  '/comment/:id',
  [
    auth,
    checkObjectId('id'),
    [check('text', 'Text is required').not().isEmpty()],
  ],
  async (req, res) => {
    const errors = validationResult(req);
    if (!errors.isEmpty()) {
      return res.status(400).json({ errors: errors.array() });
    }

    try {
      const user = await User.findById(req.user.id).select('-password');
      const post = await Post.findById(req.params.id);

      const newComment = {
        text: req.body.text,
        name: user.name,
        avatar: user.avatar,
        user: req.user.id,
      };

      post.comments.unshift(newComment);

      await post.save();

      res.json(post.comments);
    } catch (err) {
      console.error(err.message);
      res.status(500).send('Server Error');
    }
  }
);

server.js sn-p 我在其中附加了所有 API

/Define routes

app.use('/api/users', require('./routes/api/users'));
app.use('/api/profile', require('./routes/api/profile'));
app.use('/api/auth', require('./routes/api/auth'));
app.use('/api/posts', require('./routes/api/posts'));

Postman error

【问题讨论】:

  • 你的服务器在哪里 .js 你把你的路由器注入服务器了吗
  • 是的,我将所有路由都注入到服务器
  • 在你的 server.js 中使用console.log( require('./routes/api/posts')) 可以判断你是否正确导出

标签: api express postman


【解决方案1】:

看看你附上的截图,这是我的观察。

  1. 你收到的响应其实是404,说明你调用的路径不存在。确保 API 端点正确。
  2. x-auth-token 中有一个不正确的引用 "

【讨论】:

  • 1- 我附上了代码 sn-p 我认为我的 API 端点是正确的,请看一下。 2-我注意到引用并删除它仍然我得到同样的错误
  • 我在您的端点中没有看到“帖子”关键字。您是否将其附加到主 JS 文件中?喜欢 app.js?
  • 是的,我将它附加到了我的 server.js 文件中。
  • 你能编辑你的帖子并添加那个文件/截图吗?
  • 完成,看看
猜你喜欢
  • 2018-08-04
  • 1970-01-01
  • 2020-08-02
  • 2021-07-31
  • 1970-01-01
  • 2016-05-28
  • 2022-01-26
  • 2014-01-15
  • 2018-12-26
相关资源
最近更新 更多