这是我在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中测试时,我使用了这种错误的方式:
我通常不使用params,我该如何测试呢?
答案 0 :(得分:2)
2个问题。
1.在屏幕截图中,方法为POST
,但您的代码正在等待GET
请求。
2.使用此网址:http://localhost:3000/reset/6b...
。不要使用token=
答案 1 :(得分:2)
答案 2 :(得分:1)
只需将令牌作为路径的最后一部分传递,如下所示:
router.get('/reset', function(req, res) {
// In here, use req.query.token instead of req.params.token
}
或者,如果您想将令牌作为查询参数传递(就像在Postman屏幕截图中那样),请按以下方式定义路线:
{{1}}