2010-08-28 172 views
3

有沒有很好的參考教你如何使用ruby發送PUT/DELETE/POST/GET?REST與紅寶石?

我看了Net :: HTTP。

這個庫能夠使用所有四種方法嗎?我找不到如何使用PUT發送。

所有這四種方法是否還有其他好的庫?

回答

3

最簡單的方法可能是使用rest client gem。然後,你可以做類似的東西

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

編輯:更改網址爲更新的一個。

+0

嗯,現在沒有更新1年。似乎這個項目已經死了。 – 2010-08-29 03:10:22

+0

我的不好。它已經轉移到github上。 http://github.com/archiloque/rest-client – yxhuvud 2010-08-29 07:49:51

4

你一定要看看HTTParty。這是一個易於使用的庫來處理RESTful請求,JSON響應等等。

0

您可以使用net/http庫執行所有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 Request-Headers接收一個Hash作爲可選的第三個參數;

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

這顯然是非常基本的。

考慮與Google APIs和Ruby一起玩弄它。