我有songs
资源的REST API,他们有id
和title
,管理员可以直接执行GET /songs/:id
,但普通用户只能通过{{ {1}}。
因此,如果普通用户尝试访问以下资源:
GET /songs/:title
通过请求{
"id":9248,
"title": "Hala Madrid"
}
,他应该被重定向到GET /songs/9248
。
所以我可以有两个不同的路由处理程序,并重复查询。但我真的不想查询两次。所以我想我可以重置网址并将找到的歌曲分配给GET /songs/hala_madrid
。
我尝试设置以下路由并实现一个req.song
控制器方法:
get
我有点迷失,因为它在未处理的错误中结束,我不知道如何重新加载再次处理请求。
答案 0 :(得分:0)
也许我误解了一些事情,但你必须有两个参数吗?
jcc
这种情况只是检查参数是否为数字且用户不是“用户”(然后是我假设的管理员),然后按ID查询。否则按标题查询
so / songs / 9248和/ songs / hala_madrid的作品