jueves, 18 de mayo de 2017

Servicios REST con Jersey (Versión 1.x.x)

Hoy vamos a mirar una tecnología un poco vieja, pero que aún viene utilizada en muchas empresas y entonces todavía debe ser mantenida. Ya tenemos Jersey 2.0 que simplifica muchas tareas y hace el desarrollo de los servicios REST mas fácil. Pero hoy vamos a seguir la versión 1.xxx.
Vamos a crear un pequeño servicio que convierte los grados Celsius en los grados Fahrenheit.


Vamos a Eclipse Market Place y descargamos el plugin Rest para Eclipse:


Que así en el menú “Nuevo Projecto” aparecerá opción para crear los proyectos REST:


Damos a Jersey RESTful Webservice.
Eclipse va añadir las bibliotecas siguientes al proyecto:


Empezamos a crear la clase Java:

@Path("/ctofservice")
public class CtoFService {
 @GET
 @Produces("application/xml")
 public String convertCtoF() { 
 Double fahrenheit;
 Double celsius = 36.8;
 fahrenheit = ((celsius * 9) / 5) + 32;
 String result = "@Produces(\"application/xml\") Output: \n\nC to F Converter Output: \n\n" + fahrenheit;
 return "<ctofservice>" + "<celsius>" + celsius + "</celsius>" + "<ctofoutput>" + result + "</ctofoutput>" + "</ctofservice>";
 }
 @Path("{c}")
 @GET
 @Produces("application/xml")
 public String convertCtoFfromInput(@PathParam("c") Double c) {
 Double fahrenheit;
 Double celsius = c;
 fahrenheit = ((celsius * 9) / 5) + 32;

 String result = "@Produces(\"application/xml\") Output: \n\nC to F Converter Output: \n\n" + fahrenheit;
 return "<ctofservice>" + "<celsius>" + celsius + "</celsius>" + "<ctofoutput>" + result + "</ctofoutput>" + "</ctofservice>";
 }
}
Ya está, damos a “Run” para producir nuestro file WAR (o damos “Export” y luego lo placemos manualmente en la carpeta “Webapps” de nuestro servidor WEB).



A lanzar nuestro servidor vamos a la dirección siguiente:



Metemos 20 al final de nuestro URL para convertir 20 grados Celsius en Fahrenheit:



Bajozero -20 también se acepta:




Por el momento nuestro servicio es muy simple y funciona sin cliente. La próxima vez vamos a construir un cliente para utilizarlo.

No hay comentarios:

Publicar un comentario