問題:如何檢索REST中的層次結構對象?
我有一個父級子時尚相關的對象的層次結構。數據存儲在關係數據庫中,每條記錄都使用外鍵parent_id
指向其父項。在這種情況下,所有記錄都存儲在一個表中。通過遍歷父表的列表可以解決每個層次級別,直到到達根節點。我如何通過使用REST訪問這些元素,特別是當我可能事先不知道層次結構的深度時?如何在JAXRS中實現允許層次結構的父子關係
+----------------------------------+----+-----------+
| Hierarchy Level | id | parent_id |
+----------------------------------+----+-----------+
| thing/sub1 | 1 | NULL |
| thing/sub1/subsub-A | 2 | 1 |
| thing/sub1/subsub-A/subsubsub-A1 | 3 | 2 |
| thing/sub1/subsub-A/subsubsub-A2 | 4 | 2 |
| thing/sub1/subsub-B | 5 | 1 |
| thing/sub2 | 6 | NULL |
| thing/sub2/subsub-A | 7 | 6 |
| thing/sub2/subsub-C | 8 | 6 |
+----------------------------------+----+-----------+
目標:解決嵌套對象
實現一個REST接口,能夠解決以下網址:
GET http://www.example.org/service/thing/sub1/subsub-A/subsubsub-A2
和響應是
{id=4}
是什麼嘗試到目前爲止:
顯然,下面的結構都可以輕鬆解決,因爲我知道路徑參數預計其中:
http://www.example.org/service/thing/sub1/
我struggeling如何在URL中解決嵌套的子部件。我確實找到了sub-resource locator concept,但我不知道將其應用於我的場景。我正在使用Jersey框架來實施。我正在尋找一種方法,我怎麼可以從後向前遍歷REST URL,獲取在每個中間子父ID,從而能夠識別完整的對象,例如像這樣:
http://www.example.org/service/1/2/4
感謝@ inf3rno,我知道我可以解析URL代替,但在技術上並沒有解答我的問題。 – Stefan 2014-11-25 14:25:50