无法通过HTTParty

时间:2017-04-03 22:01:06

标签: json ruby activerecord sinatra httparty

我正在运行一个简单的Sinatra应用程序,我需要查询一些数据并通过JSON将POST发送到webhook URL进行处理。我不确定如何正确格式化我为HTTParty检索的记录。

联系人正在打印到/account/{account_id}/contacts.json我想要的方式,他们的数据并没有成功发送。

app.rb

get "/account/:account_id/contacts.json" do
  @contacts = Contact.where("sfid = ?", params[:account_id])
  HTTParty.post("https://hooks.webapp.com/hooks/catch/387409/1us4j3/",
  { 
    :body => [ @contacts ].to_json,
    :headers => { 'Content-Type' => 'application/json', 'Accept' => 'application/json'}
  })
  @contacts.to_json
end

1 个答案:

答案 0 :(得分:1)

似乎错误是

  

2.3.1 / lib / ruby​​ / 2.3.0 / net / http / generic_request.rb:183:在`send_request_with_body'

您的请求中未找到任何正文。您正在散列中发送参数body和head。

试试这个:

get "/account/:account_id/contacts.json" do
  @contacts = Contact.where("sfid = ?", params[:account_id])
  HTTParty.post("https://hooks.webapp.com/hooks/catch/387409/1us4j3/",
    :body =>  @contacts.to_json,
    :headers => { 'Content-Type' => 'application/json', 'Accept' => 'application/json'}
  )
  @contacts.to_json
end

您还可以查看此帖子,了解有关HTTP帖子Here

的更多信息

希望这会有所帮助..