Creación de aplicaciones Restful con Jersey

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

Sin comentarios
Ha habido un error en el envío
Comentario enviado. Será revisado por la moderación antes de ser publicado.

Deja tu comentario

Tu nombre:
Tu email:
Tu comentario: