是否有一个用户友好的替代Net :: HTTP用于与REST API交互?

时间:2008-09-19 11:32:45

标签: ruby http rest

对于标准用例,Net :: HTTP可能相当麻烦!

7 个答案:

答案 0 :(得分:19)

如果您只需要处理REST,那么rest-client库就太棒了。

如果你使用的API不是完全REST的 - 或者即使它们是 - 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"}}}

答案 1 :(得分:5)

rest-open-uri是在RESTful Web Services书中大量使用的。

gem install rest-open-uri

使用示例:

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

puts response.read

答案 2 :(得分:4)

我是rest-client的忠实拥趸,它足以在不妨碍您实施的情况下发挥作用。它可以智能地处理异常,并支持开箱即用的日志记录和身份验证。

答案 3 :(得分:1)

HyperactiveResource处于起步阶段,但看起来还不错。

答案 4 :(得分:0)

答案 5 :(得分:0)

在github上查看asplake(即my)describe_routes和path-to projects-gems(我似乎无法从这里链接到.Path-to使用HTTParty,而不是硬编码的URL,如某些对于这个问题的其他答案,它使用describe_routes提供的元数据。在positiveincline.com上有几篇描述这些宝石的文章,其中与你的问题最相关的是Nested path-to/described_routes and HTTParty

答案 6 :(得分:0)

嗯,如果你在Rails上,总会有ActiveResource:)