具有不同参数的多个GET路由

时间:2016-04-02 12:48:57

标签: angularjs node.js routing

有没有人知道你是否可以以及如果它的好习惯是定义多个GET路线,例如:

  • GET:' / channels'返回应用中的所有频道
  • GET:' / channels /:username'返回用户创建的所有频道
  • 获取:' / channels /:channelname'返回有关频道的详细信息
  • POST:' / channels'创建一个新频道
  • PUT:' / channels /:channelname'使用名称':channelname'
  • 编辑频道

我感到困惑的是第三条GET路线。不知道它是否可能,或者是否有更好的方法可以做到这一点..

2 个答案:

答案 0 :(得分:1)

您不能拥有多个具有相同参数的路线。 我认为最合乎逻辑的方法是:

  • GET:'/ channels / user /:username'返回用户创建的所有频道

答案 1 :(得分:0)

您不能对同一路线使用相同的动词(get, post, put ..)。您可以针对不同的verb使用相同的route,针对不同的route使用相同的verb

在您使用的问题中

GET: '/channels/:username'  and 
GET: '/channels/:channelname'

两者都是一样的,因为当您从/channels/somename请求客户端站点时,对两条路由都有效,因为username可以是somenamechannelname可以是{{ 1}}。

所以区分两条路线需要改变你的任何一条路线。像

somename

对于GET: '/channels/user/:username' // that different from /channels/:channelname node.js,您可以使用:

express