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 .