/competitions/1/clubs/5/players
/players/search?club_id=5
/players?club_id=5
我应该何时使用资源的第一类网址,何时应使用嵌套网址?
更新1
感谢目前为止的答案。我会尝试进一步澄清事情。
竞争与俱乐部有着多对多的关系。俱乐部可以参加多个比赛。我想这会让Club成为一流的实体,所以进入俱乐部的方式就是:
/clubs/33
但我也需要能够参加参加特定比赛的俱乐部,所以我也需要这样的东西:
/competitions/2/clubs
但有人提到不建议通过多个URI访问资源。这不违反吗?
另外,我认为这样的URI不是更好的选择:
/competitions/2/clubs/33/players/5
而是使用它:
/clubs/33/players/5
Club与玩家有一对多的关系。
答案 0 :(得分:1)
/competitions/1/clubs/5/players
由于URI是单个资源的标识符,我会说一般规则是如果它是一个对象,它会得到一个“第一类URL”。
我只倾向于在限制/过滤列表时使用查询参数,例如/competitions/1/clubs/5/players?gender=MALE
。
答案 1 :(得分:0)
答案 2 :(得分:0)
我不会在网址中输入身份证号码。它们只对那些真正知道它们意味着什么的人有意义,但对于其他人来说,它们都是毫无意义的数字。
您应始终为您的网址选择描述性和相关字词,因为该网址会提供有关链接资源的信息。
不要使用无意义的ID号,而是选择一个代表团队名称或竞争对手的唯一名称,例如
/competitions/worldcup/clubs/usa/players
但是如果你真的需要在URL中发送那种匿名数据,那么我宁愿在查询中看到它们。
仅为URL使用有意义的文字。