Джакарта Веб-службы RESTful
Оригинальный автор(ы) | Сан Микросистемс |
---|---|
Разработчик(и) | Фонд Затмения |
Стабильная версия | 3.0 / 30 июня 2020 г |
Репозиторий | |
Написано в | Ява |
Операционная система | Кросс-платформенный |
Платформа | Ява |
Тип | Платформа приложения |
Лицензия | EPL 2.0 или GPL v2 с исключением Classpath |
Веб-сайт | проекты |
Веб-службы Jakarta RESTful ( JAX-RS ; ранее Java API для веб-служб RESTful ) — это Jakarta EE спецификация API , которая обеспечивает поддержку создания веб-служб в соответствии с архитектурным шаблоном передачи репрезентативного состояния (REST). [1] JAX-RS использует аннотации , представленные в Java SE 5 , для упрощения разработки и развертывания клиентов и конечных точек веб-сервисов.
Начиная с версии 1.1, JAX-RS является официальной частью Java EE 6. Примечательной особенностью официальной части Java EE является то, что для начала использования JAX-RS не требуется никакой настройки. Для сред, отличных от Java EE 6, небольшая запись в web.xml дескриптор развертывания Требуется .
Спецификация
[ редактировать ]JAX-RS предоставляет некоторые аннотации, помогающие отображать класс ресурса ( POJO ) как веб-ресурс. В аннотациях используется пакет Java. jakarta.ws.rs
(ранее было javax.ws.rs
но переименован 19 мая 2019 г. [2] ). Они включают в себя:
@Path
указывает относительный путь для класса ресурса или метода.@GET
,@PUT
,@POST
,@DELETE
и@HEAD
укажите тип HTTP-запроса ресурса.@Produces
ответа определяет типы интернет-медиа (используемые для согласования контента ).@Consumes
указывает типы принимаемых запросов в Интернете.
Кроме того, он предоставляет дополнительные аннотации к параметрам метода для извлечения информации из запроса. Все @*Param
аннотации принимают ключ некоторой формы, который используется для поиска требуемого значения.
@PathParam
привязывает параметр метода к сегменту пути.@QueryParam
привязывает параметр метода к значению параметра HTTP-запроса .@MatrixParam
привязывает параметр метода к значению параметра матрицы HTTP .@HeaderParam
привязывает параметр метода к значению HTTP-заголовка .@CookieParam
привязывает параметр метода к значению cookie .@FormParam
привязывает параметр метода к значению формы .@DefaultValue
указывает значение по умолчанию для вышеуказанных привязок, если ключ не найден.@Context
возвращает весь контекст объекта (например@Context HttpServletRequest request
).
ДЖАКС-РС 2.0
[ редактировать ]В январе 2011 года JCP сформировала экспертную группу JSR 339 для работы над JAX-RS 2.0. Основными целями являются (среди прочего) общий клиентский API и поддержка Hypermedia по HATEOAS принципу REST . В мае 2013 года он достиг стадии финального релиза. [3]
22 августа 2017 г. JAX-RS 2.1 [4] Опубликован финальный релиз спецификации.Основные новые поддерживаемые функции включают в себя события, отправленные сервером , реактивные клиенты,и JSON-Б. [5]
Реализации
[ редактировать ]Реализации JAX-RS включают: [6]
- Apache CXF , веб-сервисов с открытым исходным кодом. платформа
- Jersey , эталонная реализация от Sun (теперь Oracle ).
- RESTeasy , JBoss реализация
- Рестлет
- Сервер приложений WebSphere от IBM :
- Версия 7.0: через «Пакет функций для приложений с поддержкой связи».
- Версия 8.0 и более поздние: изначально
- Сервер приложений WebLogic от Oracle , см . примечания
- Apache Tuscany ( http://tuscany.apache.org/documentation-2x/sca-java-bindingrest.html ), прекращено
- Платформа Cuubez ( https://web.archive.org/web/20190707005602/http://cuubez.com/ )
- Everrest , реализация Codenvy
- Jello-Framework — платформа Java-приложений, оптимизированная для Google App Engine, включая мощный механизм RESTful и комплексную модель авторизации данных.
- Apache TomEE , дополнение к Apache Tomcat
Ссылки
[ редактировать ]- ^ Хэдли, с. 1.
- ^ «Переименование фиксации пакета на Github» . Гитхаб .
- ^ «JSR 339: JAX-RS 2.0: API Java для веб-служб RESTful» . Процесс сообщества Java .
- ^ «JSR 370: Спецификация Java API для веб-служб RESTful (JAX-RS 2.1)» . Процесс сообщества Java .
- ^ «JSR 367: Java API для привязки JSON (JSON-B)» . Процесс сообщества Java .
- ^ Литтл, Марк (1 октября 2008 г.). «Сравнение реализаций JAX-RS» .
- Хэдли, Марк и Пол Сандос, ред. (17 сентября 2009 г.). JAX-RS: Java API для веб-служб RESTful (версия 1.1), процесс сообщества Java
Внешние ссылки
[ редактировать ]Учебники
[ редактировать ]- https://javabrains.io/courses/javaee_jaxrs/. Архивировано 25 мая 2019 г. в Wayback Machine.
- http://docs.oracle.com/javaee/6/tutorial/doc/giepu.html
- http://www.vogella.com/tutorials/REST/article.html
- http://www.mkyong.com/tutorials/jax-rs-tutorials/
- http://www.coderpanda.com/jax-rs-tutorial/
- https://www.javavogue.com/2015/03/java-jerseyjax-rs-tutorials/
- http://howtodoinjava.com/restful-web-service/