что такое интерфейс JSON REST - PullRequest
15 голосов
/ 29 марта 2011

Есть ли учебник по JSON RESTful-интерфейсу (с использованием JAVA-сервлета )?Цель состоит в том, чтобы вызвать внешний интерфейс REST для данных и обработать данные клиентом (клиентом javascript).

Я не уверен, что это за интерфейс JSON REST в JAVA ... Мне нужнонекоторые учебники, чтобы начать учиться, так что ... я спрашиваю здесь.

1 Ответ

21 голосов
/ 29 марта 2011

JSON - это легкий формат сериализации данных, основанный на подмножестве JavaScript.

Интерфейс RESTful - это интерфейс, который соответствует ограничениям и характеристикам архитектурного стиля REST .

Таким образом, объединяя их, интерфейс JSON RESTful представляет собой интерфейс, который следует архитектурному стилю REST и использует JSON в качестве формата представления данных (обычно тип содержимого application/json).

Для реализации службы такого типа в Java существуют платформы, которые могут вам помочь, например Джерси или RESTEasy . Оба предлагают дополнительные компоненты, поддерживающие JSON (как для входящих, так и для исходящих данных).

EDIT:

Как в Джерси, так и в RESTEasy реализована спецификация JAX-RS, поэтому можно использовать любой из этих способов в качестве «чистого» Java EE. Если вы хотите использовать для этого только часть Servlet Java EE, это возможно, но вам придется делать такие вещи, как анализ параметров пути / шаблона из URI самостоятельно.

Вам может быть трудно использовать элементы servlet-mapping для описания URL-адресов ваших ресурсов, и это может привести к тому, что вы реализуете что-то, очень похожее на JAX-RS (если у вас получится один сервлет контроллера, который анализирует URI и отправляет запрос другому объекту).

Я бы посоветовал прочитать намного больше о REST, прежде чем вы решите, как реализовать это. Вот несколько указателей:

  • Связь между клиентом и сервером должна быть без состояний . Избегайте HttpSession.
  • REST ориентирован на ресурсы, а не на операции (например, RPC). Подумайте о ресурсах, которые предоставляет ваша служба, и дайте эти URI.
  • Ресурсы REST обрабатываются через общий интерфейс. Для сервисов HTTP этот интерфейс определяется HTTP-глаголами (GET, POST, PUT, DELETE и т. Д.). Обязательно прочитайте раздел 9 RFC 2616 , чтобы понять семантику каждого глагола и правила относительно того, что они должны и не должны делать.
  • Изучите коды состояния ответа и фразы причин в RFC 2616 . Это часть вашего общего интерфейса.
  • Службы RESTful возвращают представлений ресурсов. Представление имеет тип контента, убедитесь, что вы установили этот заголовок, чтобы клиенты могли понять ваш ответ.

Наконец, если вы пойдете по пути «чистых сервлетов», вам все равно будет намного проще читать / создавать JSON, используя библиотеку синтаксического анализатора, такую ​​как Jackson .

...