Jersey es un cliente Restful open-source, implementación de referencia de JAX-RS, el API de referencia para Web Service Restful. Este último a su vez en un API de Java que proporciona soporte a los web service creados bajo la arquitectura REST. Ya se habló en otro post de este blog sobre esta tecnologia y su aplicación. En este caso, trataremos de poner un ejemplo de uso en Java con Jersey.
Lo primero que necesitamos para preparar el entorno es proporcionar a nuestro proyecto las librerías o dependencias de Jersey necesarias. En nuestro caso, hemos generado un proyecto maven y vamos a utilizar la versión 1.19.1 de Jersey, por lo que introducimos en el pom.xml las dependencias necesarias:
<dependency>
<groupId>com.sun.jersey</groupId>
<artifactId>jersey-client</artifactId>
<version>1.19.1</version>
</dependency>
<dependency>
<groupId>com.sun.jersey</groupId>
<artifactId>jersey-server</artifactId>
<version>1.19.1</version>
</dependency>
En segundo lugar debemos crear en nuestro proyecto Java, la clase que dará el servicio REST. En Java, el soporte a los servicios de tipo Rest es proporcionado por la API JAX-RS, basada en anotaciones para simplificar el desarrollo y despliegue de los clientes y puntos finales de los servicios web. Un ejemplo sencillo puede este:
package prueba.proyecto;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
import javax.ws.rs.core.Response;
@Path("/prueba") /*URL a la que atenderá las peticiones*/
public class RestService {
@GET /*Tipo de llamada*/
@Path("/{param}")
public Response getMsg(@PathParam("param") String msg) {
/*Mostrará por pantalla el parámetro que le hemos pasado a la URL*/
String output = "My Jersey application says : " + msg;
return Response.status(200).entity(output).build();
}
}
A continuación, debemos configurar nuestro web.xml para indicar que, cuando la url cumpla determinado patrón, la petición será redirigida a la clase que acabamos de crear:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5">
<servlet>
<servlet-name>Rest Servlet</servlet-name>
<servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class>
<init-param>
<param-name>com.sun.jersey.config.property.packages</param-name>
<param-value>prueba.proyecto</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Rest Servlet</servlet-name>
<url-pattern>/rest/*</url-pattern>
</servlet-mapping>
</web-app>
Finalmente, arrancando nuestro servidor e introduciendo la url: http://localhost:8080/rest/prueba/helloWorld
Nos mostrará por pantalla la salida: “My Jersey application says : helloWorld”
Comentarios