让我说我有一个简单的api
api/users
Wich返回一个用户数组,或者一个空数组没有。
我希望能够通过ID和名称找到用户,所以我已经做了一些可行的方法:
api/users/1
或api/users?id=1
或按名称
api/users/john
或api/users?name=John
在第二种情况下,按名称搜索,如果找不到john,我应该返回404还是空数组?这是一个很好的设计实践吗?
谢谢!
答案 0 :(得分:1)
您的问题是关于网址设计而不是 REST 。
您可以考虑以下事项:
GET /api/users/{id}
:返回具有给定标识符的用户的表示。如果没有用户匹配给定的标识符,则应返回404
响应。
GET /api/users?name={name}
:返回一个集合的表示形式,其中包含与给定名称匹配的用户。如果没有用户匹配给定名称,则应返回带有空数组的200
响应。