Существует ли более удобная для пользователя альтернатива Net :: HTTP для взаимодействия с REST API? - PullRequest
18 голосов
/ 19 сентября 2008

Net :: HTTP может быть довольно громоздким для стандартного варианта использования!

Ответы [ 7 ]

19 голосов
/ 19 сентября 2008

Если вам нужно иметь дело только с REST, библиотека rest-client просто фантастическая.

Если используемые вами API не являются полностью RESTful - или даже если они - HTTParty действительно стоит проверить Это упрощает использование REST API, а также веб-API без RESTful. Проверьте этот код (скопировано с вышеуказанной ссылки):

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"}}}
5 голосов
/ 19 сентября 2008

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
4 голосов
/ 14 ноября 2008

Я большой поклонник rest-client , которого достаточно, чтобы быть полезным, не мешая вашей реализации. Он интеллектуально обрабатывает исключения и поддерживает ведение журнала и проверку подлинности из коробки.

1 голос
/ 20 сентября 2008

HyperactiveResource находится в зачаточном состоянии, но выглядит неплохо.

0 голосов
/ 02 июля 2009

Ну, всегда есть ActiveResource, при условии, что вы на Rails:)

0 голосов
/ 04 мая 2009

Взгляните на asplake (то есть на мои) описаны_руты и пути к проектам / гемам на github (на которые я не могу ссылаться отсюда. Path-to использует HTTParty, а не жестко закодированные URL, как некоторые из других ответов на этот вопрос он использует метаданные, предоставленные описанным_рутом. Есть несколько статей, описывающих эти самоцветы на сайте Positiveincline.com, из которых наиболее релевантными для вашего вопроса являются Nested path-to / description_routes и HTTParty .

0 голосов
/ 19 сентября 2008

Вот что я использую: http://rubyforge.org/projects/restful-rails/.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...