2011-11-02 44 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找回你需要的东西。创建对象有很多工作要做,而这些并不是必需的。

相关问题