2012-01-13 1 views
0

В чем основные отличия между org.restlet.Client и org.restlet.resource.ClientResource?Разница между org.restlet.Client и org.restlet.resource.ClientResource

Я видел классы, используемые полузаменяемо, поэтому я в основном ищу только общее правило, когда нужно использовать друг друга.

+1

Один из них - «коннектор», другой - «ресурс» http://www.restlet.org/documentation/2.0/jse/api/index.html?org/restlet/Context.html - Как Тьерри упомянутый ниже, ClientResource * использует * соединитель клиента для выдачи запросов. – PhD

ответ

2

org.restlet.Client - это низкоуровневый API для выполнения запросов REST с помощью Restlet. org.restlet.resource.ClientResource внутренне использует этот класс для доступа к приложениям RESTful. Таким образом, ClientResource обычно является классом, используемым для выполнения клиентских запросов к таким приложениям.

Очень интересной особенностью, которую вы должны рассмотреть с помощью ClientResource, является возможность использования аннотированных интерфейсов, как описано ниже.

public interface MyRestfulService { 
    @GET 
    Contact getContact(String id); 
} 

Теперь, как использовать интерфейс:

ClientResource cr = new ClientResource("http://..."); 
MyRestfulService service = cr.wrap(MyRestfulService.class); 
Contact contact = service.getContact("id"); 

Как вы можете видеть, все теперь скрыты для вас (преобразования, conneg ...).

Надеюсь, это поможет вам. Thierry