在REST中为过滤资源获取子资源的正确方法是什么?

时间:2018-02-21 06:35:04

标签: rest filter resources

使用REST api,假设我们有一个资源'学生'和一个子资源'类'。

在一个人为的例子中,我们希望找到姓氏为史密斯学生的所有班级。

为这种情况构建uri的正确方法是什么?我想到了以下几点:

GET: /api/students?surname=smith/classes

但这对我来说很尴尬。

编辑:

鉴于答案和评论,我认为答案确实在于转变请求。我可以有像

这样的东西
GET: /api/classes?student-surname=smith

让API处理它。

1 个答案:

答案 0 :(得分:2)

您可以考虑其他方式 - 课程文件夹包含学生 - 并更改为:

GET: /api/classes/students?surname=smith

GET: /api/classes/{classId}/students?surname=smith