2010-08-28 173 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一起玩弄它。