Как реализовать REST в веб-приложении?

Я хочу знать, как реализовать REST в своем веб-приложении. Я хочу создать веб-приложение на основе этого сервиса, но не знаю, как это сделать. Сейчас я использую J2EE и Tomcat. Что следует учитывать применительно к этим технологиям?

EDIT: Извините, я имею в виду сервис RESTful.


person Agusti-N    schedule 31.03.2009    source источник


Ответы (5)


REST — это не конкретный интерфейс или технология, а стиль. Лучшим примером является сама сеть: ваш браузер отправляет HTTP-запрос на веб-сервер, который отвечает веб-страницей.

Передача репрезентативного состояния в этом контексте: представление — это веб-страница, состояние — это содержащаяся в ней информация. Мы могли бы изменить представление, переключившись на xml вместо html, но информация осталась бы той же.

В службе RESTful вы используете этот стиль для отправки объектов данных туда и обратно — состояние передается с сервера вам, а затем вы снова отправляете новое состояние обратно.

Таким образом, в некотором смысле Tomcat уже сделает REST за вас, если вы разместите страницы своего сервера в качестве ресурсов: http://carsales.com/cars/porsche2149 может быть ресурсом для вашего автомобиля, для которого вы можете использовать HTTP POST или PUT, чтобы изменить информацию о нем.

Отличительными чертами REST являются использование URI для обозначения ресурсов, как указано выше, использование JSON или XML в качестве среды обмена (хотя используются AHAH и другие форматы) и споры о том, как УДАЛИТЬ коллекции.

Во-первых, определите, какими будут ваши ресурсы, и организуйте свою систему URI в соответствии с ней (используйте переписывание URL-адресов и т. д.). Затем определите представление (я), которое вы хотите использовать. Наконец, напишите бэкенд, чтобы иметь дело с передачей представлений состояния, и обновите базу данных.

person Phil H    schedule 31.03.2009
comment
+1 за пример с порше. Хотя его уже нет, но все же. - person zmilojko; 11.04.2012

У меня нет опыта работы с jax-rs CXF, но Restlet мне подходит. Это позволяет легко внедрять службы и клиенты RESTful. Это очень помогло мне в программировании интерфейса службы REST DekiWiki. Есть книга О'Рейли о «Веб-службе RESTful», в которой представлено хорошее введение. В нем также есть небольшой раздел о Restlet.

person Florian Deissenboeck    schedule 31.03.2009

Это немного попутный ответ, но если вы хотите, чтобы вам помог фреймворк/api, вот два варианта:

Рестлет

jax-rs CXF

person whaley    schedule 31.03.2009

Мы также используем Restlet с JAX-RS.

Если вы собираетесь использовать JAX-RS (Java API для веб-служб RESTful), то этот документ может оказаться полезным (хотя это справочное руководство по разработке в JBoss RESTEasy).

Я также рекомендую тестовый клиент REST.

person matali    schedule 31.03.2009

Веб-сервисы RESTful – это книга, которая может вам помочь. В нем описывается стимул, лежащий в основе веб-служб RESTful, и даются инструкции о том, как вы должны проектировать свою службу. Затем вы можете перейти к реализации либо с помощью фреймворка, либо с помощью простых сервлетов.

В качестве альтернативы уже упомянутым методам реализации хотелось бы добавить Spring MVC. Можно создавать приложения RESTful уже, но более прямая поддержка будет добавлена ​​в Весна 3.0

person kgiannakakis    schedule 01.04.2009