我試圖找出映射我的REST API上的幾個用例的最佳方式。 我有2個資源/實體:用戶和組織REST API - 返回具有不同數據的資源列表
一個組織包含多個用戶(一對多關係)。
我有2個不同的使用情況:
- 檢索所有組織的列表,而無需任何用戶(無需在此情況下,用戶數據)
- 檢索與所有組織的一個列表中的所有其相關用戶
所以我的第一個映射到GET /api/Organization
什麼是映射的廣義好辦法第二個是REST標準? 我需要在一個請求中獲取所有內容,無法發送新請求以獲取每個組織的用戶列表,因爲性能會很糟糕。
我想到了3種不同的可能性:
1)沿着這些路線的東西:GET /api/Organization/customlist/with-users
我真的不喜歡這個,因爲它不是真正REST標準,並會感到困惑與子資源。
2)使用查詢參數此:GET /api/Organization?getusers=true
這是清潔的,但我也爲我寧願只保留了篩選,分頁查詢參數和排序的目的不喜歡它了。
3)GET
機身使用JSON對象,並使用GET /api/Organization
兩個用例
然後根據JSON對象我想知道我是否應該得到用戶列表或沒有的內容。我實際上最喜歡這種方法,因爲它允許我爲這兩個請求使用相同的路徑,但是我意識到普遍的共識似乎是在GET請求上使用一個正文的不好的做法,儘管最近似乎有這種做法在使用這種方法的ElasticSearch等流行項目中變得更爲常見。
是否有處理類似案件的標準化的方式?任何其他方式我可能錯過了?我可以把它與任何這些過程的工作,但我想了解的最佳做法是什麼,我相信應該是一個常見的場景東西。