Что я могу использовать для создания REST-клиента на Java?

Возможный дубликат:
Остальные клиенты для Java?

Если я хочу использовать Java для создания REST-клиента, что мне следует использовать?

Могу ли я использовать CXF?


person jojo    schedule 15.05.2009    source источник


Ответы (7)


Мне удалось успешно использовать HttpClient от Jakarta Commons.

Также Java поставляется с URLConnection, но вы можете посмотреть это сравнение с HttpClient.

Apache CXF действительно поддерживает клиентов REST (см. здесь), но кажется излишним (CXF - это общая структура служб и поэтому усложнена поддержкой CORBA, SOAP и т. Д. .)

person Matthew Murdoch    schedule 15.05.2009
comment
HttpClient и URLConnection - хорошие варианты, но я бы рекомендовал использовать их с Restlet API, который представляет собой уровень абстракции на один уровень выше этих низкоуровневых классов. Restlet позволяет вам писать код, который не связан с какой-либо конкретной клиентской библиотекой, а затем менять местами любую клиентскую библиотеку, которую вы предпочитаете, используя ее парадигму коннектора. - person Avi Flax; 15.05.2009
comment
Apache CXF 2.2.1 также содержит REST-клиент. См. cwiki.apache.org/CXF20DOC/jax-rs. html # JAX-RS-ClientAPI - person Daniel Kulp; 16.05.2009
comment
Спасибо @Daniel, обновлю ответ. - person Matthew Murdoch; 16.05.2009

Я использовал Restlet. Мне это очень понравилось, и я написал сообщение в блоге о своем опыте.

person Vinnie    schedule 15.05.2009
comment
Ой, извините - я вижу, вы сказали клиент REST. Виноват. Restlet используется для создания реализации на стороне сервера. Я также использовал Http Unit для тестирования этой службы. - person Vinnie; 15.05.2009
comment
Фактически, Restlet - это полноценный API и реализация для создания как RESTful-серверов , так и клиентов. Я написал много клиентов REST, используя Restlet, с отличными результатами. - person Avi Flax; 15.05.2009

Существует API клиента Джерси, который позволяет легко реализовывать клиентов на Java.

person Brian Agnew    schedule 15.05.2009
comment
клиент из джерси слишком большой, я думаю ... - person gumuruh; 22.03.2012

Мне вряд ли нужна структура, просто используйте API сервлета и реализуйте методы запроса, которые вам нужны, такие как POST / GET / PUT / DELETE / HEAD

пример: http://www.exampledepot.com/egs/javax.servlet/com_mycompany_MyServlet.html

person KingInk    schedule 15.05.2009
comment
для серверной части, возможно, не для клиента - person Larry Cable; 25.07.2018

Я думаю, что это действительно зависит от приложения и вашей среды, но мне очень легко resteasy (поскольку он настолько декларативен) и настраивается. См. глава 30 клиентской документации.

person Alexander Torstling    schedule 15.05.2009

Используйте надстройку HTTP4e REST client для Eclipse. Он прост в использовании и имеет Java / C # / Ruby / Flex / ActionScript / и т. Д. Генерацию кода одним щелчком мыши.

person Atanas Roussev    schedule 27.03.2010
comment
ваши ссылки мертвы. Есть ли другие альтернативы? Я ищу мобильное использование с использованием методов put, get, delete и asynchronous. : D - person gumuruh; 22.03.2012

Я пробовал использовать примеры, приведенные в этом ling http://cxf.apache.org/docs/jax-rs-client-api.html Я столкнулся с проблемой, заключающейся в том, что интерфейс или Impl не всегда могут быть доступны на стороне клиента для создания прокси. Я также попробовал wadl2java, чтобы увидеть, генерируются ли клиенты. Версия CXF 2.6 не создавала клиентский класс.

Я доволен вызовом HTTPclient, пока какая-то конкретная реализация не изменит способы написания клиента.

Примечание. Мы используем только CXF с Java, поэтому экспериментируем только с CXF. другая реализация может дать другие результаты

person R-JANA    schedule 27.09.2012