我有一个资源'用户'。您可以通过以下方式请求有关特定用户的信息:
users/:id
其中'id'是一个数字。我还希望能够通过用户名查询用户。我想知道启用此功能的路线应该是什么?
我正在考虑将id设置为用户名和身份证,但是存在歧义,因为如果用户拥有包含所有号码的用户名并且该号码与其他用户的ID匹配,那该怎么办。
所以我要问的是,处理这个问题的惯例是什么?应该是:
usernames/:username
或users/:username/username
还是完全不同的东西?
由于
答案 0 :(得分:3)
就个人而言,我会通过url路由方法通过id获取用户:
/users/:id
并使用查询字符串按用户名获取用户:
/users?username=johndoe
答案 1 :(得分:0)
只是一个想法:“用户”空间可以划分为两个子空间:“用户名”和“ids”。
然后,可以单独访问它们:
/users/usernames/:username
/users/ids/:id
“ids”空间的简写可能只是“/ users /”,它可以被访问:
/users/:id