2013-04-24 69 views
0

我正在開發一個REST API,並且在DB中有以下表格:classes,subjects,classes_subjects;以及以下資源:http://api.example.com/class資源的類表和http://api.example.com/subject資源的主題表。REST API命名混淆 - 如何命名執行任務的資源?

我想給一類學生分配一個主題(例如,將文獻分配給第1類),即將class_id和subject_id保存在classes_subjects表中,但是我很難弄清楚如何命名classes_subjects表的新資源。

我不能命名爲http://api.example.com/assign,因爲這將是對REST原則,但分配的主體時,也將是尷尬的命名http://api.example.com/classes-subjects

我應該使用/資源類,並使用PUT?

我找不出任何名詞用於分配科目的類。你們有沒有人知道如何處理這類問題?

回答

2

您可以使用以下模式:

  • 獲取所有教學班,主題123:

    GET /subjects/123/classes 
    
  • 關聯與對象的類:

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

大, 非常感謝 ! 但是,如果它反過來也可以嗎? 'GET /班/ 15/subjects' 和 'POST /班/ 15 /科目?subjectId = ' ,這樣我會得到分配給15級的所有科目,並配有一個主題關聯起來上課? – Daniel 2013-04-26 11:27:59

+0

@ user1988372,是的,那也太完美了。你也可以考慮使用PUT而不是POST。在這種情況下,你會做PUT/classes/15/subjects/ 2013-04-26 17:24:17