Net :: HTTP puede ser bastante engorroso para el caso de uso estándar.¿Existe una alternativa más fácil de usar que Net :: HTTP para interactuar con API REST?
Respuesta
Esto es lo que uso: http://rubyforge.org/projects/restful-rails/.
rest-open-uri es el que se utiliza en gran medida en el libro RESTful Web Services.
gem install rest-open-uri
Ejemplo de uso:
response = open('https://wherever/foo',
:method => :put,
:http_basic_authentication => ['my-user', 'my-passwd'],
:body => 'payload')
puts response.read
Si sólo tiene que lidiar con el descanso, la biblioteca rest-client es fantástico.
Si las API que está utilizando no son completamente RESTANTES, o incluso si lo son, HTTParty realmente vale la pena echarle un vistazo. Simplifica el uso de API REST, así como de API web no RESTful. Echa un vistazo a este código (copiado desde el enlace de arriba):
require 'rubygems'
require 'httparty'
class Representative
include HTTParty
format :xml
def self.find_by_zip(zip)
get('http://whoismyrepresentative.com/whoismyrep.php', :query => {:zip => zip})
end
end
puts Representative.find_by_zip(46544).inspect
# {"result"=>{"n"=>"1", "rep"=>{"name"=>"Joe Donnelly", "district"=>"2", "office"=>"1218 Longworth", "phone"=>"(202) 225-3915", "link"=>"http://donnelly.house.gov/", "state"=>"IN"}}}
HyperactiveResource está en su infancia, pero se ve bastante bien.
Soy un gran admirador de rest-client, que hace lo suficiente para ser útil sin entorpecer su implementación. Maneja las excepciones de forma inteligente y admite el inicio de sesión y la autenticación de forma predeterminada.
Eche un vistazo a las rutas _ y las rutas a proyectos/gems de asplake (es decir, a mi) en github (que parece que no puedo enlazar aquí. Path-to usa HTTParty, pero no está codificado URLs como algunas de las otras respuestas a esta pregunta, utiliza metadatos proporcionada por descritas _ rutas. hay varios artículos que describen estas joyas en positiveincline.com, de los cuales los más relevantes a su pregunta es Nested path-to/described_routes and HTTParty.
Bueno, hay siempre ActiveResource, siempre que esté en Rails :)
No más ... –
- 1. Consumir API REST desde .NET
- 2. ¿Cuál es la forma más fácil de probar una API REST de catalizador?
- 3. C++ lib para trabajar con api REST para principiantes
- 4. ¿Existe una API de Subversion que se pueda usar para programar en .NET
- 5. API REST para rabbitmq
- 6. Autenticación con una API REST
- 7. Alternativa más utilizable a Criteria API
- 8. ¿Una mejor alternativa a Jersey/Jackson para construir API JSON REST?
- 9. ¿Puedo usar razones personalizadas para un código de estado HTTP para diferenciar entre errores para una API REST?
- 10. http delete con REST
- 11. ¿Existe una alternativa más rápida a GDI GetPixel()?
- 12. ¿Existe una API .Net para informes de errores de Windows
- 13. Alternativa Http simple para Wireshark
- 14. Solr: mejor documentado, fácil de usar, estable API de Python
- 15. Grails: Asegurar API REST con OAuth2.0
- 16. ¿Existe alguna manera fácil de usar InternalsVisibleToAttribute?
- 17. ¿Qué herramientas de Python puedo usar para interactuar con la API de un sitio web?
- 18. ¿Algún tutorial REST fácil para Java?
- 19. API REST para Java?
- 20. Alternativa TrueCrypt con API
- 21. REST/XML Api con Java
- 22. Contenedor .net para Perforce API?
- 23. ¿Cómo puedo usar el código C++ para interactuar con PHP?
- 24. interactuar con una interfaz?
- 25. ¿Cómo documenta una API REST?
- 26. Seguridad para API REST "privada"
- 27. ¿Existe una alternativa más ordenada a `except: pass`?
- 28. Más segura, fácil de usar y flexible alternativa de C++ a sscanf()
- 29. C# REST API Client
- 30. ¿Cómo escribir una API REST?
Mi único problema con HTTParty es que devuelve un hash en lugar de analizar el XML y devolver una matriz de 'Re objetos presentables con acceso a atributos. En lugar de devolver el hash de find_by_zip, construí una matriz de objetos representativos y los devolví. –