嵌套的REST资源

时间:2015-06-17 15:59:00

标签: api rest restful-url

我有部门资源,每个部门可以有多个班级。所以,例如:

部门#100可以具有等级= 1,2,3,4,5 部门#200可以具有等级= 2,3,9,12

我希望通过特定的类ID,多个类ID,特定的部门ID,多个部门ID来获取课程。以下是我对制作网址的看法:

   /depts    -->         displays all departments

   /depts?_id = 100 & _id = 200       -->      displays departments with id 100 and 200

   /depts/100                --> display department with id = 100

   /classes   --> displays all classes

   /classes?_id = 1 & _id = 2 -->  displays classes with id = 1 and id = 2

   /classes/1 -->display class with id = 1

现在,

  1. 我如何显示特定部门的所有课程(例如:部门100中的所有课程)。
  2. 这会有用吗?

      /classes?dept=/depts/{100}
    

      /depts/100/classes
    
    1. 如何在多个部门中显示所有课程(例如:部门100和部门200中的所有课程)。
    2. 这会有用吗?

        /classes?dept=/depts/{100}&dept=/depts/{200}
      

1 个答案:

答案 0 :(得分:0)

您可以遵循以下规则:

  1. GET / depts / returns department
  2. GET / depts / {id} /返回给定ID的部门
  3. GET / depts / {id} / classes /返回具有给定ID的部门的类
  4. GET / classes /返回所有类
  5. GET / clasess / {id} /返回给定ID的类
  6. 棘手的部分是获取属于多个depts的类。可以用

    完成
    1. GET / classes /?deptID = 1& deptID = 2 - 通过查询参数进行过滤的简单GET请求
    2. POST / classes / filter - POST请求,包含正文中发送的所有必要参数。
    3. 1.和2.对于这种过滤同样有用。