2010-09-11 18 views
14

Así que estoy comenzando a aprender Rails. Ahora que Rails 3 está fuera, quiero seguir aprendiendo la forma de hacer las cosas de Rails 3. Una de las cosas que quiero aprender a hacer es cómo consumir servicios web/trabajar con API REST de terceros/crear aplicaciones "mashup". Solo he hecho un trabajo mínimo como este con PHP y bibliotecas pre compiladas.Comenzar a consumir servicios web en una aplicación de Ruby on Rails 3

¿Alguien puede dirigirme a algunos recursos, mejores prácticas o darme una lección rápida 101 sobre cómo empezar a trabajar con este tipo de API? ¿Qué gemas debería usar? Algún código de muestra para comenzar sería muy apreciado.

Actualización: Estoy tratando específicamente de utilizar la API de Google Books (no autenticada). Como no hay una biblioteca cliente para esta API, me pregunto cómo otros desarrolladores de Ruby/Rails están trabajando con API que no vienen con su propia biblioteca de Ruby. Es por eso que estoy buscando una solución más genérica para trabajar con la API "llenar el espacio en blanco".

Actualización: Después de algunas investigaciones, noté la biblioteca Net :: HTTP. Todos los tutoriales que hablaron de eso eran bastante antiguos. ¿Sigue siendo esta la mejor biblioteca para consumir servicios web RESTful? ¿O hay una gema más nueva que hace esto más fácil? Solo quiero saber qué gema/biblioteca debo usar y cómo trabajar con el resultado XML/JSON que se devuelve.

Actualización: Esta presentación fue realmente útil. Menciona un montón de diferentes bibliotecas y muestra ejemplos de algunas de las bibliotecas se mencionan a continuación: http://www.slideshare.net/pengwynn/json-and-the-apinauts

+0

¿tiene un servicio web específico que pretenda utilizar? ¿O le interesa apuntar a un estilo de servicio web específico, por ejemplo, un feed RSS no autenticado frente a un API que requiere un token API? –

+0

Consulte la actualización para obtener una explicación. – Andrew

Respuesta

9

Soy un gran admirador de HTTParty.

Es una capa de abstracción sobre Net :: HTTP con un pequeño y agradable DSL para consumir servicios web. Here's un buen ejemplo de lo fácil que es usar.

No es sin algunas verrugas (muchas dependencias) pero es realmente el camino a seguir si estás en el lado consumidor.

+0

+1 para HTTParty. Realmente hace que consumir puntos finales de descanso sea fácil; las envolturas más recientes de Ruby alrededor de las API lo usan. –

0

Weary es una DSL realmente ordenada para consumir servicios RESTful.

Claramente inspirado en HTTParty pero un poco más nuevo y un poco más conciso.

Cuestiones relacionadas