【问题标题】:REST( GET method ) naming for getting a list of list of objectsREST(GET方法)命名用于获取对象列表
【发布时间】:2021-04-13 09:17:37
【问题描述】:

我有一个courses 列表和students 列表。这个想法是一个学生可以参加多个课程。

要求返回一个统一的课程学生列表,其中“key”类似于courseId + studentId。 GET 结果如下:

  • courseId, courseName, studentId, studentName,...

我的问题是,这是定义此 REST GET 方法的最佳方法。我有两种解决方案,欢迎提出任何想法。

  1. GET:api-name/v1/courses/students?version=5 - mening 所有课程的学生都回来了
  2. GET:api-name/v1/courses-students?version=5 - 在这种情况下,是作为课程学生的专用方法

欢迎任何想法。非常感谢!

更新: 我打算使用解决方案2。 此外,这种关系可以被视为一种新资源的说法是一个强有力的论据。

【问题讨论】:

    标签: rest methods naming-conventions naming


    【解决方案1】:

    我敢打赌第二个选项,因为您要公开一个新资源,即课程和学生之间的关系——甚至可以通过与两个 ID 相关的“密钥”来识别。

    然后,使用此选项可能允许您使用键查找新资源,或使用查询字符串参数(eg api-name/v1/courses-students?courseId=12,45&studentId=32,67)过滤此新资源,或请求个别课程的学生 (api-name/v1/courses/{courseId}/students),或个别学生的课程 (api-name/v1/students/{studentId}/courses)。

    关于这个话题有一个很好回答的问题here

    【讨论】:

    • 感谢您的建议和其他帖子的链接。我也打算使用解决方案 2。
    • 不客气!如果您同意并且这解决了您的问题,请用答案结束主题:)
    猜你喜欢
    • 1970-01-01
    • 2018-04-18
    • 2019-11-24
    • 2018-04-16
    • 2011-02-23
    • 1970-01-01
    • 1970-01-01
    • 2021-10-08
    • 1970-01-01
    相关资源
    最近更新 更多