2014-06-06 48 views
0

我在項目中使用了spring和restlet。Restlet中的資源發現

我試圖實現自動資源發現。如果用戶發出這樣的獲取請求,則響應應該鏈接到子資源,如下所示。



請求:

GET

http://<host>:<port>/root/ 

響應:

http://<host>:<port>/root/v1 

http://<host>:<port>/root/v2 

http://<host>:<port>/root/v3 



請求:

GET

http://<host>:<port>/root/v1 

響應:

http://<host>:<port>/root/v1/resource1 

http://<host>:<port>/root/v1/resource2 

http://<host>:<port>/root/v1/resource3 

等。

我探索restlet Java文檔,但找不到自動資源發現的任何功能。

我現在可以想到的其他選項是將每個級別創建爲端點並將鏈接返回給子資源,但我不確定這是否是正確的方法。

restlet中有這樣的功能嗎?如果不是,restlet中的其他選項可用於實現此功能嗎?

謝謝。

回答

0

您可以查看org.restlet.ext.wadl或org.restlet.ext.apispark(僅限於主分支)擴展的代碼。 這個想法是從應用程序「getInboundRoot」Restlet開始的。以遞歸的方式,檢測它是否是過濾器(在這種情況下,分析過濾器#getnext()「restlet),如果它是一個路由器,通過路由器循環#getRoutes並分析目標Restlet。如果是」 Finder「實例這實際上意味着附加了一個ServerResource,如果沒有,這是一個純的Restlet,它可以處理所有的請求

+0

謝謝你的見解。 –