使用 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 中测试它时,我使用了这种不正确的方式:
我通常不使用参数,我该如何测试它?
只需将令牌作为路径的最后一部分传递,如下所示:
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...
这是我在 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 中测试它时,我使用了这种不正确的方式:
我通常不使用参数,我该如何测试它?
只需将令牌作为路径的最后一部分传递,如下所示:
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...