REST con Rails
Diciembre 29th, 2009
El uso de REST con Ruby on Rails es extremadamente relajante, una vez que comienzas a utilizar REST y te acostumbras a trabajar de esa forma, no quieres volver a la forma tradicional. Esta es una guía de conceptos básicos de REST y su aplicación en Rails.
REST son las siglas de Representational State Transfer (Transferencia de Estado Representacional), es una técnica de arquitectura software para sistemas hipermedia distribuidos como la World Wide Web. El término se originó en el año 2000, en una tesis doctoral sobre la web escrita por Roy Fielding, uno de los principales autores de la especificación del protocolo HTTP y ha pasado a ser ampliamente utilizado por la comunidad de desarrollo.
Es un hecho olvidado por muchos desarrolladores Web de hoy que el protocolo HTTP puede hacer algo más que GET y POST. No debería resultar tan sorprendente si consideramos que los navegadores solo soportan estas dos peticiones. El protocolo HTTP define también los métodos PUT y DELETE que deberían utilizase para crear o borrar un recurso en la Web. (más sobre REST: http://es.wikipedia.org/wiki/Representational_State_Transfer)
Por que usar REST?
- URLs limpias: en REST, las urls representan recursos y no acciones, por lo tanto siempre tienen el mismo formato.
- Formatos de respuesta variados: los controladores REST estan escritos de manera tal que las acciones pueden devolver sus resultados fácilmente en diferentes formatos de respuesta. Una misma acción puede entregar resultados en HTML, XML, RSS o cualquier formato que solicite el cliente, de manera rápida y sencilla.
- Menos código: el desarrollar acciones únicas capaces de soportar múltiples clientes evita repeticiones en el sentido DRY (Don’t repeat Yourself)
- Controladores orientados a CRUD (Create Read Update Delete): los controladores y los recursos se funden en una única cosa. Cada controlador tiene como responsabilidad manipular un único tipo de recurso.
- Diseño limpio de la aplicación: REST produce un diseño y escritura de código clara y fácil de mantener.
Si nunca has utilizado REST con Rails, te recomiendo que te descargues el pdf RestFul Rails desde http://www.b-simple.de/documents (disponible en español, inglés y alemán!) y comiences por alli. Este pequeño libro tiene la desventaja que la versión utilizada de Rails es la 1, por lo que te encontrarás con varias disidencias a la hora de probar los ejemplos, sobre todo al final del libro. Pero afortunadamente esto no es un gran problema, dejo aquí algunas urls que te servirán a modo de consulta y mayor aprendizaje:
- Recursos anidados con REST y RAILS: http://www.jaimeiniesta.com/2007/12/22/tutorial-recursos-anidados-con-rest-y-rails-2/comment-page-1/
- Rapid restful Apps (en inglés): http://articles.sitepoint.com/article/rapid-restful-rails-apps
- Easy restful Screencast: http://akitaonrails.com/2008/1/25/easy-restful-rails-screencast
- Whats new on REST Rails (en inglés) http://ryandaigle.com/articles/2006/08/01/whats-new-in-edge-rails-simply-restful-support-and-how-to-use-it



Leave a Reply