1 oct. 2013

REST en Java

Hoy toca probar REST y como (de bien) se lleva con Java. Para ello vamos a ponernos un poco en situación.

¿Qué es REST?

REST son las siglas de REpresentational State Transfer, es un estilo de arquitectura de aplicaciones software que está basado en estándares web y en protocolos HTTP. En esta arquitectura todo son recursos, y se puede acceder a estos recursos usando métodos estándares de HTTP.

En una arquitectura REST normalmente se dispone de un servidor REST que ofrece acceso a los recursos y un cliente que accede y modifica estos recursos. Cada uno de los recursos debe tener soporte a las operaciones HTTP más comunes, que comentaré más adelante, y se identifican de manera global, normalmente a través de URIs.


La arquitectura REST permite que los recursos tengan distintas representaciones (texto, XML, JSON, RSS,...) por lo que el cliente puede solicitar la representación que más le convenga mediante el protocolo HTTP.


Los métodos HTTP que soporta REST son los habitules de peticiones estándar HTTP, PUT, GET, POST y DELETE. Estas operaciones se podrían explicar de la siguiente manera:

  • PUT: Crea un nuevo recurso, por lo que nunca se podrá realizar una consulta a través de este método.
  • GET: acceso de lectura al recurso, por lo que nunca se puede modificar usando este método.
  • POST: Actualiza un recurso existente o crea uno nuevo.
  • DELETE: Elimina un recurso.
Entonces,