8 de diciembre de 2012

Extensión de Firefox para testear servicios REST

Mozilla Firefox es mi Web Browser favorito por la capacidad que tiene de poder agregarle diversas extensiones que son muy útiles mientras se esta navegando, encontré una de ellas que nos permitirá probar de forma rápida y fácil un servicio REST:

RESTClient (https://addons.mozilla.org/en-US/firefox/addon/restclient/)

Luego de instalarlo, lo usaremos para probar el servicio de usuarios que creamos anteriormente, ingresamos la URI, seleccionamos GET y llamamos a la petición con SEND



Luego podremos ver el resultado (response) de nuestra petición de varias formas:



Para una petición POST que recibe en formato JSON debemos especificarlo como Content-Type en el Header



Ahora si ingresamos una cadena JSON con los datos de un nuevo usuario y seleccionamos la acción POST



De esta misma forma también podemos hacer peticiones PUT, DELETE para probar un servicio de  forma sencilla.

Ejemplo de WebServices RESTful

En la entrada anterior vimos como implementar una servicio REST simple en Java, ahora veremos la forma de crear un servicio REST con los métodos para crear, leer, actualizar, eliminar y listar un recurso llamado usuario; además de devolver los resultados en formato JSON.

Reutilizamos el proyecto anterior y creamos nuestra clase Java Bean Usuario para que esta clase puesa ser serializada en XML y representada en JSON debemos agregarle la anotación @XmlRootElement


Creamos un nuevo recurso para manipular los datos de Usuario desde nuestro origen de datos con los siguientes métodos:


HTTP GET: Para recibir un objeto o una colección de ellos.
HTTP POST: Crear un nuevo recurso.
HTTP PUT: Actualizar un recurso o una colección de ellos.
HTTP DELETE: Eliminar un recurso o una colección de ellos.



Para indicar que se va enviar y recibir en formato JSON se agregaron las anotaciones @Consumes(MediaType.APPLICATION_JSON) y  @Produces(MediaType.APPLICATION_JSON) . El resultado de hacer la llamada a través de nuestro navegador:







7 de diciembre de 2012

Mi primer Servicio REST con Jersey y Eclipse

En clase de Sistemas Distribuidos aprendimos acerca de los servicios REST y como implementarlos en .NET, me quedó la duda como sería hacerlo en Java, por ello a continuación haré un pequeño tutorial paso a paso de como crear un servicio REST simple, utilizando las siguientes herramientas:


Agregamos el servidor Tomcat a nuestro workspace


Creamos un nuevo Dinamic Web Project en este caso llamado UPC-REST, especificamos como servidor al Tomcat 7.0



 Copiamos los JARs de Jersey en la carpeta WEB-INF/lib de nuestro proyecto


Definimos un despachador en nuestro web.xml


Ahora en nuestro package pe.edu.upc.rest.recursos definimos un recurso Saludo que responderá a nuestra petición HTTP GET con "Hola mundo"


Describiendo lo que vemos aquí:

@Path: Define la URI base de nuestro recurso. Formado con el contexto y nombre del host, el identificador del recurso será este http://localhost:8080/UPC-REST/rest/saludo
@GET: Lo que sigue a esta anotación es lo que responderá el método HTTP GET.
@Produces: Define el tipo de contenido de nuestra respuesta en nuestro caso texto.


Ejecutamos el proyecto y este es el resultado en nuestro navegador: