- JAX-RS Учебник с Джерси для веб-сервисов RESTful
- 1. Введение
- 1.1 ОТДЫХ
- 1.2 Операции HTTP
- 1.3 Веб-сервисы RESTful и JAX-RS
- 2. Аннотации
- 3. Джерси
- 3.1 Что такое Джерси
- 3.2 Компоненты Джерси
- 3.3 Установка на Джерси
- 3.3.1 Gradle
- 3.3.2 Установка с сайта Джерси
- 4. Инструменты и технологии
- 5. Структура проекта
- 6. Цель программы
- 6.1 банки
- 5.2 Конфигурация для JAX-RS
JAX-RS Учебник с Джерси для веб-сервисов RESTful
В современном мире данные играют очень важную роль. В связи с тем, что многие приложения используют различные типы данных для различных операций, наиболее важным аспектом является связь между приложениями. Обмен данными между приложениями становится проще, когда они могут общаться.
Это как приложение, работающее в Азии, предоставляет данные для приложения, работающего в Европе, или наоборот. Как это возможно, что серверы Facebook, размещенные в США, могут предоставлять услуги Facebook в Азии? Как это возможно, что опция проверки с использованием учетной записи Google доступна на многих сайтах, расположенных в разных частях света?
Ответ на поставленные выше вопросы – веб-сервисы. Есть два типа веб-сервисов, как указано ниже.
Давайте поговорим подробно о веб-сервисе REST.
1. Введение
1.1 ОТДЫХ
REST – это архитектурный принцип передачи данных, основанный на веб-стандартах и протоколе HTTP. В REST есть ресурсы, которые размещаются на сервере REST. Каждый ресурс будет иметь уникальный идентификатор, известный как URI, и может быть изменен и доступен с помощью клиента REST.
REST позволяет представлять ресурсы в разных форматах, таких как XML, JSON, Text и т. Д.
1.2 Операции HTTP
Поскольку REST поддерживает протокол HTTP, он позволяет выполнять следующие операции с ресурсами.
- GET – запрос GET используется для доступа к ресурсу и обеспечивает представление ресурса в желаемом формате.
- POST – запрос POST используется для обновления существующего ресурса. Он также используется для создания нового ресурса. Он поддерживает представление ресурсов в различных форматах.
- PUT – запрос PUT используется для обновления ресурса путем полной замены существующего. Согласно определению, запрос PUT является идемпотентным.
- DELETE – запрос DELETE используется для удаления ресурса.
В веб-сервисах REST также есть два разных вида веб-сервисов REST, как указано ниже.
Мы подробно обсудим веб-сервисы RESTful в рамках учебника.
1.3 Веб-сервисы RESTful и JAX-RS
Веб-сервисы RESTful следуют архитектуре на основе REST и в основном используются для веб-сайтов. Это просто и быстро, поскольку оно не ограничено строгими ограничениями и потребляет меньшую пропускную способность.
Java разработала программную спецификацию для создания веб-сервиса в соответствии с архитектурой REST. Название для этой спецификации API – JAX-RS, что означает Java API для RESTful Web Services. JAX-RS был частью Java SE 5 и стал постоянным членом семейства Java от Java EE 6. Текущая версия JAX-RS – это версия 2.1, и она была выпущена в сентябре 2017 года.
2. Аннотации
Давайте обсудим различные аннотации и спецификации, которые поддерживаются JAX-RS.
- @Path : – указывает относительный путь класса ресурса или метода.
- @GET : – HTTP-запрос Get, который используется для получения ресурса.
- @PUT : – HTTP-запрос PUT, который используется для создания ресурса.
- @POST : – HTTP POST-запрос, который используется для создания или обновления ресурса.
- @DELETE : – HTTP-запрос DELETE, который используется для удаления ресурса.
- @HEAD : – это HTTP-запрос HEAD, который используется для получения статуса доступности метода.
- @Produces : – сообщает тип HTTP-ответа, генерируемого веб-службой. Например, APPLICATION / XML, APPLICATION / JSON и т. Д.
- @Consumes : – сообщает тип HTTP-запроса, который может обрабатывать веб-служба. Например, APPLICATION / XML может использоваться для отправки запроса в формате XML.
- @PathParam : – связывает параметр, переданный методу, со значением в пути.
- @QueryParam : – связывает параметр, передаваемый методу, с параметром запроса в пути.
- @HeaderParam : – связывает параметр, передаваемый методу, с заголовком HTTP.
- @DefaultValue : – он назначит значение по умолчанию для параметра, который передается методу.
- @Context : – это контекст ресурса. Например, HTTPRequest в качестве контекста.
3. Джерси
3.1 Что такое Джерси
Jersey – это платформа с открытым исходным кодом, которая используется для создания веб-сервисов RESTful. Это больше, чем просто реализация JAX-RS. Джерси также предоставляет свои собственные API-интерфейсы, чтобы сделать создание веб-служб более простым и полезным. Он также предоставляет ряд SPI для расширения инфраструктуры на основе потребностей разработчика.
3.2 Компоненты Джерси
Джерси полон множества функций и компонентов. Но есть четыре основных компонента Джерси. Они заключаются в следующем.
- Основной сервер: – Он используется для создания веб-сервисов RESTful. Компоненты состоят из jersey-core, jersey-server и jsr311-api.
- Основной клиент: – Для взаимодействия с веб-сервисами нам нужен клиент для связи между веб-сервисами. Компоненты состоят из джерси-клиента.
- Поддержка JAXB: – Джерси обеспечивает поддержку JAXB. Это облегчает преобразование XML в объект. Компонент, который выполняет эту поддержку, является jersey-server.
- Поддержка JSON: – Джерси обеспечивает поддержку JAXB. Это облегчает преобразование JSON в объект. Компонент, который выполняет эту поддержку, является jersey-server.
- Простая интеграция со средой Spring и Guice.
Вот некоторые из основных компонентов и особенностей Джерси. Теперь давайте обсудим, как установить Джерси.
3.3 Установка на Джерси
Есть два способа установки Джерси в вашей программе. Мы можем использовать Gradle или выполнить прямую установку с веб-сайта Джерси.
Давайте посмотрим на оба пути.
3.3.1 Gradle
В случае, если мы используем Gradle, мы должны добавить следующие строки в разделе зависимости проекта.
Обратите внимание, что название проекта изменилось, начиная с версии 2.26. Все более ранние версии имели имя только jersey-container-servlet .
3.3.2 Установка с сайта Джерси
Для установки Джерси с его веб-сайта мы можем загрузить пакет, доступный на веб-сайте, который содержит все зависимости, кроме сторонних.
Вы можете скачать пакет по этой ссылке .
После загрузки пакета извлеките zip-файл и вставьте все фляги в WEB-INF/lib вашей программы. Это все, что вы готовы использовать трикотаж сейчас.
4. Инструменты и технологии
Давайте посмотрим на технологии и инструменты, используемые для создания программы.
- Eclipse Oxygen.2 Release (4.7.2)
- Java – версия 9.0.4
- Gradle – 4.6
- JAX-RS 2.1
- Джерси-2,26
- Tomcat 9.0
5. Структура проекта
Структура нашего проекта будет выглядеть так, как показано на рисунке ниже.
Структура проекта для проекта JAX-RS
Приведенная выше структура проекта предназначена для реализации плана JAX-RS, где библиотеки будут загружаться с веб-сайта Джерси. Для проектов с build.gradle и pom.xml структура проекта будет немного отличаться.
6. Цель программы
В рамках программы мы попытаемся создать простой веб-сервис с использованием Джерси. Также мы попытаемся понять конфигурацию и настройку, которые необходимо выполнить для создания веб-службы.
6.1 банки
Ниже приведен список файлов JAR, которые будут частью папки WEB-INF/lib .
Банки как часть сборки для проекта JAX-RS
Есть два способа добавить банки как часть проекта. Оба способа упомянуты ниже.
- Добавление Jar с использованием файлов сборки: Jars можно добавить в проект, используя файл сборки, такой как build.gradle или pom.xml, указав в качестве зависимостей файлы jar и версию.
- Загрузка с веб-сайта Джерси: все упомянутые выше банки доступны в составе пакета Джерси, который можно загрузить и скопировать на веб-сайте WEB-INF / lib. Ссылка для скачивания банок.
5.2 Конфигурация для JAX-RS
Чтобы использовать JAX-RS, мы должны зарегистрировать Джерси в качестве сервлета-диспетчера для запросов REST. Мы должны изменить в web.xml следующие строки.
Web.xml для Джерси в качестве сервлета Dispatcher