REST API命名混淆 - 如何命名执行赋值的资源?

时间:2013-04-24 09:04:36

标签: api rest resources

我正在开发一个REST API,我在DB中有以下表:classes,subject,classes_subjects;和以下资源:类表的http://api.example.com/class资源和主题表的http://api.example.com/subject资源。

我想将一个主题分配给一类学生(例如将文学分配给第1课),即将class_id和subject_id保存在classes_subjects表中,但我很难弄清楚如何命名新的classes_subjects表的资源。

我无法将其命名为http://api.example.com/assign,因为这会违反REST原则,但将其命名为http://api.example.com/classes-subjects

也很尴尬

我应该只使用/ class资源并在分配主题时使用PUT吗?

我无法找出用于将主题分配给课程的任何名词。你们中的任何人都知道如何处理这类问题吗?

1 个答案:

答案 0 :(得分:2)

您可以使用以下架构:

  • 获取主题123的所有课程:

    GET /subjects/123/classes
    
  • 将课程与主题相关联:

    POST /subjects/123/classes?classId=<classId>