2011-11-02 43 views
1

我需要從其他資源(fruitDelaer)我知道我可以做SMT像這樣(在我fruitDealer資源實現地方)獲取給定的實體(蘋果)的列表:如何在沒有完整url的情況下調用本地RESTLET資源?

ClientResource applesResource = new ClientResource("http://localhost:8888/fruitShop/apples"); 

Representation response = applesResource.get(); 

但由於這個「蘋果」資源是本地的一個它調用它,有沒有一種方法不指定完整的網址

注意:我懷疑這可能更多地與Java本身比的Restlet

+0

http://stackoverflow.com/questions/5542473/resteasy-invoke-service-inside-another-service 這可能會有幫助。 – user620339

+0

爲什麼不直接訪問資源的服務,而不是經歷一個請求週期? –

+0

@DaveNewton我也在想,但獲取請求會填充一些值(在問題中未顯示,但可能是例如您想要的結果或類似結果),因此如果我訪問資源類,則必須填充這些值手動,有點爛:)從restlet doc看這個例子,似乎使用localhost url(客戶端消費):http://wiki.restlet.org/docs_2.0/13-restlet/27- restlet/328-restlet/285-restlet.html – JohnIdol

回答

2

的Restlet提供RIAP僞協議(的Restlet內部訪問協議),它可以讓你做到這些,調用本地資源您的應用程序|虛擬主機|組件使用諸如「riap:// application/fruitShop/apples」之類的URI。

Additional details here

+0

哦,這很好看,正是我在找什麼 - 謝謝:) – JohnIdol

+0

我再次看到這一點,我有困難得到這個工作 - 是否有一個使用RIAP消耗資源作爲客戶端的地方的例子嗎? – JohnIdol

0

我會考慮另一種方法。 A Service,你可以撥打電話fruitDealer找回你需要的東西。創建對象有很多工作要做,而這些並不是必需的。

相關問題