2010-08-28 3 views
3

Есть ли хорошие рекомендации, преподающие вам, как отправить PUT/DELETE/POST/GET с рубином?ОТДЫХ с рубином?

Я просмотрел Net :: HTTP.

Является ли эта библиотека способной для всех четырех методов? Я не мог найти, как отправить с помощью PUT.

Существуют ли другие хорошие библиотеки для всех этих четырех методов?

ответ

3

Простейшим способом, вероятно, будет использование rest client gem. Затем вы можете делать такие вещи, как

RestClient.get 'http://example.com/resource', {:params => {:id => 50, 'foo' => 'bar'}} 

EDIT: изменен url на более современный.

+0

hmm, который не был обновлен через 1 год. кажется, что проект мертв. –

+0

Мой плохой. Он перешел в github. http://github.com/archiloque/rest-client – yxhuvud

4

Обязательно посмотрите на HTTParty. Это простая в использовании библиотека для работы с запросами RESTful, ответами JSON и т. Д.

0

Вы можете использовать все HTTP-глаголы с библиотекой net/http. Другие библиотеки тоже есть вариант - HTTParty приятный, и мне лично нравится faraday.

С net/http, вы могли бы исследовать глаголы делать что-то вроде этого:

require 'net/http' 

http = Net::HTTP.new('api.host.ca') 

# GET, DELETE 
http.get('/path') 
http.delete('/path') 

# POST, PUT 
http.put('/path', body_data) 
http.post('/path', body_data) 

body_data Где это все, что вы хотите послать по проводам. Также стоит отметить, что все четыре метода могут получить хэш как дополнительный третий параметр с HTTP-заголовками запросов;

# GET, with Headers 
http.get('/path', { 'Content-Type' => 'application/json' }) 

Это, очевидно, самый простой.

Рассмотрите возможность игры с Google APIs и рубином, чтобы повесить его.