Что такое интерфейс JSON REST

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

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

Ответы

Ответ 1

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

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

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

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

EDIT:

И Джерси, и RESTEasy реализуют спецификацию JAX-RS, поэтому можно использовать либо как "чистый" Java EE способ делать вещи. Если вы хотите использовать только часть сервлета Java EE для этого, это возможно, но вам нужно будет делать такие вещи, как parsing path/template parameters из 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.