在Rails应用程序中创建HTTP请求有哪些指导原则?

时间:2015-01-19 16:54:58

标签: ruby-on-rails ruby rest net-http

我对编写针对REST API的代码相对较新。我可以在这里分析错误的问题,所以请随时提供全面的建议。另一个问题是我想要使用的API尚未配置,所以我无法测试。

我需要编写一些Rails代码来在Jive API上创建webhooks。 Jive的文档展示了如何通过curl请求注册web服务。我希望将代码构建为我的应用程序的管理功能,以防我们因任何原因需要重新创建webhook。

以下是Jive Docs

基于this guide,我认为我需要类似的东西(我希望这个例子发送一个POST请求到“sample.jiveon.com/api/core/v3/webhooks"):

@host = "sample.jiveon.com/api/core/v3"
@port = "443"

@post_ws = "/webhooks"

@payload ={
    "events" => "document",
    "callback" => "my_app/jive_listener",
    "object" => "my/jive/space"
  }.to_json

def post 
    req = Net::HTTP::Post.new(@post_ws, initheader = {'Content-Type' =>'application/json'})
      req['Authorization'] = "Bearer my_key"
      req.body = @payload
      response = Net::HTTP.new(@host, @port).start {|http| http.request(req) }
    end
end

感谢。

1 个答案:

答案 0 :(得分:0)

最好使用像' rest-client(https://github.com/rest-client/rest-client)'

这样的宝石

上面的gem做了很多东西,你可能会使用裸ruby库手动完成。这取决于你的需要。