我有一堆標準化表,名爲danger
,countermeasure
和module
。 現在我有一個三列表krt
表示三個表之間的連接。 (列名稱danger_id
,countermeasure_id
,module_id
) 正常端點如/danger
顯示了相關表格的元素。使用複雜SQL操作的REST API
/krt?where={result: module, danger_id: x}
將查詢表krt
所有與danger_id == x的危險並將結果與模塊表結合在一起。 結果會是什麼樣子(轉換顯示)
danger_id:
- module a
- module b
danger_id2:
- module ..
[...]
我當然可以提供一個視圖,並添加自定義端點這一觀點。但是,不僅有三種可能的觀點,而且更復雜的觀點有一個或兩個額外的聯合。 (如果需要,也可以提供示例)
因此,這種查詢和加入共同概念還是違反了此設計中的任何REST約束?有沒有更好/更直觀的方式來提供這樣的信息?
仍然希望有一點經驗的人。我認爲它可能至少會破壞緩存性原則,因爲底層文檔是生成的而不是從數據庫中提取的。在每次請求中,連接都必須重新進行。 – matt3o