2008-09-19 3 views

Antwort

5

rest-open-uri ist derjenige, der stark in der RESTful Web Services Buch verwendet wird.

gem install rest-open-uri 

Beispiel Nutzung:

response = open('https://wherever/foo', 
       :method => :put, 
       :http_basic_authentication => ['my-user', 'my-passwd'], 
       :body => 'payload') 

puts response.read 
16

Wenn Sie nur mit REST zu tun haben, die rest-client Bibliothek ist fantastisch.

Wenn die APIs, die Sie verwenden, nicht vollständig RESTful sind - oder selbst wenn sie - HTTParty ist wirklich einen Besuch wert. Es vereinfacht die Verwendung von REST-APIs und nicht RESTful-Web-APIs. Überprüfen Sie den Code aus (aus den obigen Link kopiert):

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"}}} 
+0

Mein einziges Problem mit HTTParty ist, dass es einen Hash zurückgibt, anstatt das XML zu analysieren und ein Array von 'Re zurückzugeben Präsentation von Objekten mit Attributen Accessoren. Anstatt den Hash von find_by_zip zurückzugeben, habe ich selbst eine Reihe von Repräsentativen Objekten erstellt und diese zurückgegeben. –

3

Ich bin ein großer Fan von rest-client, die gerade genug, um nützlich zu sein, ohne in der Art Ihrer Implementierung. Es behandelt Ausnahmen intelligent und unterstützt das Loggen und Authentifizieren von Out-of-the-Box.

0

Werfen Sie einen Blick auf Asplakes (dh meine) beschrieben _ Routen und Pfad zu Projekten/Gems auf github (die ich nicht scheinen kann, von hier zu verknüpfen. Path-to verwendet HTTParty, aber nicht hart-codiert URLs wie einige der anderen Antworten auf diese Frage, verwendet es Metadaten von _ beschrieben Routen.Es gibt mehrere Artikel beschreibt diese Edelsteine ​​auf positincline.com, von denen die für Ihre Frage am relevantesten ist

0

Nun, da ist immer ActiveResource, sofern Sie auf Rails sind :)

+0

Nicht mehr ... –

Verwandte Themen