是否可以在REST API中使用GET /users/:user_id
之类的URL,即使不可能列出使用GET /users
的用户?
如果“是”,GET /users
应该返回404还是空列表?
答案 0 :(得分:1)
由于REST没有明确定义的标准,您可以做任何您想做的事情,只需相应地记录它并在整个项目中遵循相同的标准。
可能403是一个更好的选择,因为有用户,但你被禁止列出
答案 1 :(得分:1)
REST具有明确定义的约束。您可以在Fielding dissertation。
中了解相关信息对于如何设计URI结构没有任何限制,因为客户端必须与它完全分离。所以这不是REST问题。
简而言之,您可以使用不错的URI并使用自定义约定来构建它们。你必须要注意一些事情:
如果“是”,GET /用户应该返回404还是空列表?
如果您不想向某人显示用户列表,则不要在指向用户列表的响应中放置链接。如果他们手动调用URI,那么您可以发送404未找到或403禁止,也许401未经授权。顺便说一句。如果我是你,我会显示一个仅包含当前用户的用户列表。