【发布时间】:2020-08-28 16:09:02
【问题描述】:
我有一条路线,我在其中构建了两个 GET APIs。我希望在传递参数的同时从/download 重定向到/zip。问题是由于某种原因我得到了 404 路由 url 未包含在 redirect()
这里是 API。
// respond with xml from from static folder
router.get('/zip/:id', function (req, res) {
fileName = req.params.id
});
router.get('/download', function (req, res, next) {
var id = req.query.id
res.redirect('/zip?id='+ id);
});
module.exports = router;
我在测试 URL 时得到 404:
localhost:8000/rest/pluto/v1/plugin/download?id=networktool
我认为这可能是我设置中间件的方式,但不确定。我还是 node/express 的新手。
【问题讨论】:
-
我还要提一下,当我尝试重定向到
/zip?id='+id时,404会发生在var id = req.query.id上的中断 -
这可能是你定义
zip路由的方式,它在url路径中需要一个:id,但你试图用id作为查询参数重定向到它 -
我用
res.redirect('/zip'+ id);更新了它,仍然得到同样的错误。 -
当我将重定向更改为:
res.redirect('/rest/pluto/v1/plugin/zip/'+ id);时,它可以工作。有什么想法吗?
标签: node.js api express redirect