Как вызвать локальный ресурс RESTLET без полного URL-адреса?

Мне нужно получить список заданных сущностей (яблок) из другого ресурса (fruitDelaer). Я знаю, что могу сделать smt следующим образом (где-то в моей реализации ресурса fruitDealer):

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

Representation response = applesResource.get();

Но поскольку этот ресурс «яблоки» является локальным по отношению к тому, который его вызывает, есть ли способ не указывать полный URL-адрес?

ПРИМЕЧАНИЕ. Я подозреваю, что это больше связано с самой Java, чем с рестлетом.


person JohnIdol    schedule 02.11.2011    source источник
comment
Вместо того, чтобы выполнять цикл запроса, почему бы не получить прямой доступ к службам ресурса?   -  person Dave Newton    schedule 02.11.2011
comment
@JohnIdol Это просто пример, показывающий потребление ресурса, но не говорится, находится ли он в том же приложении. Похоже, ваше приложение довольно тесно связано; вы должны иметь возможность использовать базовую реализацию без особых усилий.   -  person Dave Newton    schedule 03.11.2011
comment
@DaveNewton да, я мог бы это сделать, но это означало бы раскрытие тех значений, которые обычно заполняются через запрос покоя, что несколько странно. Хотя, думаю, меньшее зло побеждает.   -  person JohnIdol    schedule 03.11.2011


Ответы (2)


Restlet предлагает псевдопротокол RIAP (протокол внутреннего доступа Restlet), который позволяет вам делать именно это, вызывать ресурсы, локальные для вашего приложения|виртуального хоста|компонента, используя URI, такой как «riap://application/fruitShop/apples».

Дополнительная информация здесь .

person Jerome Louvel    schedule 03.11.2011
comment
Я снова изучаю это, и у меня возникают трудности с тем, чтобы заставить это работать - есть ли где-нибудь пример использования RIAP для использования ресурса в качестве клиента? - person JohnIdol; 01.12.2011

Я бы рассмотрел другой подход. Service, которому вы можете позвонить из fruitDealer, чтобы получить то, что вам нужно. Предстоит проделать большую работу по созданию объектов и тому подобного, в чем нет необходимости.

person ssedano    schedule 03.11.2011