假设我有一个简单的api
api/users
Wich返回一个用户数组,或者一个空数组不存在。
我希望能够通过id和name找到用户,所以我已经做了一些可能的方法:
api/users/1或api/users?id=1
或点名
api/users/john或api/users?name=John
在第二种情况下,按名称进行搜索,在没有找到john时,应该返回404或空数组吗?这是一个很好的设计实践吗?
谢谢!
发布于 2018-01-18 10:39:00
您的问题是URL设计,而不是REST。
你可以考虑以下几点:
GET /api/users/{id}:返回具有给定标识符的用户的表示形式。如果没有任何用户与给定的标识符匹配,则应返回404响应。GET /api/users?name={name}:使用与给定名称匹配的用户返回集合的表示形式。如果没有任何用户匹配给定的名称,则应该返回带有空数组的200响应。https://stackoverflow.com/questions/48318058
复制相似问题