使用 Postman 测试具有参数的 post API 调用

Testing a post API call that has a param with Postman

这是我在 nodejs 中的 API 路由:

router.get('/reset/:token', function(req, res) {
  User.findOne({ resetPasswordToken: req.params.token, resetPasswordExpires: { $gt: Date.now() } }, function(err, user) {
    if (!user) {
      res.json('Password reset token is invalid or has expired.');
      //return res.j('/forgot');
    }
    res.json('Goed');
  });
});

现在当我想在 Postman 中测试它时,我使用了这种不正确的方式:

Postman Screenshot

我通常不使用参数,我该如何测试它?

只需将令牌作为路径的最后一部分传递,如下所示:

localhost:3000/reset/65bb...

可选地,如果您想将令牌作为查询参数传递(就像您在 Postman 屏幕截图中所做的那样),请像这样定义路由:

router.get('/reset', function(req, res) {
   // In here, use req.query.token instead of req.params.token
}

2 个问题。 1. 在屏幕截图中,方法是 POST 但您的代码正在等待 GET 请求。 2. 使用此 url:http://localhost:3000/reset/6b...。不要使用 token=

您可以像这样使用 URL 分段参数:

URL: http://localhost:3000/reset/:id

还有一个URL参数:

id = 65bb...