用Ruby实现REST接口?

3

有没有好的参考资料教你如何使用ruby发送PUT/DELETE/POST/GET请求?

我看过了Net::HTTP。

这个库是否支持所有四种方法?我找不到如何使用PUT发送请求。

除了这个库,还有其他好的库可以支持这四种方法吗?

3个回答

4

你一定要看看HTTParty。它是一个易于使用的库,用于处理RESTful请求、JSON响应等。


3

最简单的方法可能是使用rest client gem。然后你可以执行以下操作:

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

编辑:将URL更改为更新的一个。


嗯,那个项目已经一年没有更新了。看起来这个项目已经死了。 - never_had_a_name

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 请求头。

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

这显然是非常基础的。

考虑使用Google APIs和Ruby来尝试一下。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接