Net::HTTP は、標準的なユース ケースではかなり扱いにくい場合があります。
7 に答える
REST のみを扱う必要がある場合は、rest-clientライブラリが最適です。
使用している API が完全に RESTful ではない場合 (またはそうであっても)、HTTPartyはチェックアウトする価値があります。REST API と非 RESTful Web API の使用が簡素化されます。このコードをチェックしてください (上記のリンクからコピー):
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"}}}
rest-open-uriは、 RESTfulWebサービスの本全体で頻繁に使用されているものです。
gem install rest-open-uri
使用例:
response = open('https://wherever/foo',
:method => :put,
:http_basic_authentication => ['my-user', 'my-passwd'],
:body => 'payload')
puts response.read
私はrest-clientの大ファンです。これは、実装の邪魔にならずに役立つだけで十分です。例外をインテリジェントに処理し、すぐにログと認証をサポートします。
HyperactiveResourceはまだ始まったばかりですが、かなり良さそうです。
これは私が使用しているものです: http://rubyforge.org/projects/restful-rails/。
asplake の (つまり、私の) 説明されたルートと github の path-to プロジェクト/gems を見てください (ここからリンクすることはできないようです。Path-to は HTTParty を使用しますが、他の URL のようにハードコードされた URL ではなく、この質問への回答は、descripted_routesによって提供されるメタデータを使用します。
まあ、あなたがRailsを使っていれば、常にActiveResourceがあります:)