Как реализовать REST в веб-приложении? - PullRequest
6 голосов
/ 31 марта 2009

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

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

Ответы [ 5 ]

12 голосов
/ 31 марта 2009

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

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

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

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

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

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

1 голос
/ 31 марта 2009

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

0 голосов
/ 01 апреля 2009

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

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

0 голосов
/ 31 марта 2009

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

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

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

0 голосов
/ 31 марта 2009

Это небольшой ответ, но если вы хотите, чтобы framework / api помогли, здесь есть два варианта:

Restlet

CXF's jax-rs

...