在RESTful API设计中,是否需要通过ID获取?

时间:2015-03-30 20:12:27

标签: api rest

在标准的RESTful API中,我们通常有GET()api/users)来返回资源的所有记录,并GET(id)((api/users/{id}))返回一个记录。

但有时,我们希望获得一条记录,但不是Id。例如,GetByName(username)GetByEmail(email)

我们当然不希望致电api/users返回所有内容并过滤掉客户端所需的记录。

一些开发人员实现了多个API点,如:

api/users/byname/{username}
api/users/byemail/{email}

这是一个好习惯吗?或者有更好的,更RESTful的方式来做到这一点?

1 个答案:

答案 0 :(得分:0)

我正在制作我的第一个RESTful API,所以我不认为我是专家,但我相信你的端点通常看起来像

api/users?email="me@me.com"

你有一个索引视图,你可以发送它params