如何重写请求URL并使用express在同一请求中保留信息?

时间:2017-05-10 00:40:12

标签: node.js express

我有songs资源的REST API,他们有idtitle,管理员可以直接执行GET /songs/:id,但普通用户只能通过{{ {1}}。

因此,如果普通用户尝试访问以下资源:

GET /songs/:title

通过请求{ "id":9248, "title": "Hala Madrid" } ,他应该被重定向到GET /songs/9248

所以我可以有两个不同的路由处理程序,并重复查询。但我真的不想查询两次。所以我想我可以重置网址并将找到的歌曲分配给GET /songs/hala_madrid

我尝试设置以下路由并实现一个req.song控制器方法:

get

我有点迷失,因为它在未处理的错误中结束,我不知道如何重新加载再次处理请求。

1 个答案:

答案 0 :(得分:0)

也许我误解了一些事情,但你必须有两个参数吗?

jcc

这种情况只是检查参数是否为数字且用户不是“用户”(然后是我假设的管理员),然后按ID查询。否则按标题查询

so / songs / 9248和/ songs / hala_madrid的作品