JAX-RS: Java API для веб-сервисов RESTful (JAX-RS) — это спецификация API языка программирования Java, которая обеспечивает поддержку при создании веб-сервисов в соответствии с архитектурным шаблоном передачи состояния представления (REST). JAX-RS использует аннотации, представленные в Java SE 5, для упрощения разработки и развертывания клиентов и конечных точек веб-служб.
Начиная с версии 1.1, JAX-RS является официальной частью Java EE 6. Примечательной особенностью этого является тот факт, что не требуется никакой конфигурации чтобы начать использовать JAX-RS. Если Java EE 6 не применяется, то потребуется небольшая запись в дескрипторе развертывания web.xml
.
Спецификация
JAX-RS предоставляет некоторые аннотации, помогающие сопоставить класс ресурса POJO (англ. Plain Old Java Object) как веб-ресурс. Аннотации находятся в пакете Java javax.ws.rs
. Они включают:
@Path
указывает относительный путь для класса или метода ресурса.
@GET
, @PUT
, @POST
, @DELETE
и @HEAD
указывают метод HTTP-запроса.
@Produces
определяет MIME-типы ответа (используются для согласования контента).
@Consumes
указывает принимаемые в запросе MIME-типы.
Кроме того, JAX-RS предоставляет дополнительные аннотации к параметрам метода для извлечения информации из запроса. Все @*Param
аннотации принимают ключ некоторой формы, который используется для поиска требуемого значения.
@PathParam
привязывает параметр метода к сегменту пути.
@QueryParam
привязывает параметр метода к значению параметра HTTP- запроса .
@MatrixParam
привязывает параметр метода к значению параметра матрицы HTTP .
@HeaderParam
привязывает параметр метода к значению заголовка HTTP .
@CookieParam
привязывает параметр метода к значению cookie .
@FormParam
привязывает параметр метода к значению формы .
@DefaultValue
указывает значение по умолчанию для вышеуказанных привязок, когда ключ не найден.
@Context
возвращает весь контекст объекта (например @Context HttpServletRequest request
).