JAX-RS

De Wikipedia, la enciclopedia libre
Saltar a: navegación, búsqueda

JAX-RS: Java API for RESTful Web Services es una API del lenguaje de programación Java que proporciona soporte en la creación de servicios web de acuerdo con el ​​estilo arquitectónico Representational State Transfer (REST).[1] JAX-RS usa anotaciones, introducidas en Java SE 5, para simplificar el desarrollo y despliegue de los clientes y puntos finales de los servicios web.

A partir de la versión 1.1 en adelante, JAX-RS es una parte oficial de Java EE 6. Una característica notable de ser parte oficial de Java EE es que no se requiere configuración para comenzar a usar JAX-RS. Para los entornos que no son Java EE 6 se requiere una (pequeña) entrada en el descriptor de despliegue web.xml.

Especificación[editar]

JAX-RS proporciona algunas anotaciones para ayudar a mapear una clase recurso (un POJO) como un recurso web. Entre estas anotaciones se incluyen:

  • @Path especifica la ruta de acceso relativa para una clase recurso o método.
  • @GET, @PUT, @POST, @DELETE y @HEAD especifican el tipo de petición HTTP de un recurso.
  • @Produces especifica los tipos de medios MIME de respuesta.
  • @Consumes especifica los tipos de medios de petición aceptados.

Además, proporciona anotaciones adicionales para los parámetros de método para extraer información de la solicitud. Todas las anotaciones @*Param toman una clave de alguna forma que se utiliza para buscar el valor requerido.

  • @PathParam enlaza el parámetro a un segmento de ruta.
  • @QueryParam enlaza el parámetro al valor de un parámetro de consulta HTTP.
  • @MatrixParam enlaza el parámetro al valor de un parámetro de matriz de HTTP.
  • @HeaderParam enlaza el parámetro a un valor de cabecera HTTP.
  • @CookieParam enlaza el parámetro a un valor de cookie.
  • @FormParam enlaza el parámetro a un valor de formulario.
  • @DefaultValue especifica un valor por defecto para los enlaces anteriores cuando la clave no es encontrada.
  • @Context devuelve todo el contexto del objeto. (Por ejemplo: @Context HttpServletRequest request)

JAX-RS 2.0[editar]

En enero de 2011, el PCJ formó un grupo de expertos [1] para trabajar en JAX-RS 2.0. Los objetivos principales son (entre otros) una API de cliente común y el apoyo a Hypermedia siguiendo el principio HATEOAS de REST. En mayo de 2013 se publicó la versión final.

Implementación[editar]

Entre las implementaciones de JAX-RS se incluyen:[2]

Jersey[editar]

De acuerdo con el Tutorial de Java EE 6, Volumen 1: Jersey es la implementación de referencia de calidad de producción de Sun para JSR 311: JAX-RS: The Java API for RESTful Web Services. Jersey implementa soporte para las anotaciones definidas en la JSR-311, lo que facilita a los desarrolladores crear servicios web RESTful con Java y la JVM de Java. Jersey también añade características adicionales no especificadas por la JSR.[3]

Notas[editar]

Referencias[editar]