我正在运行一个简单的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
答案 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
的更多信息希望这会有所帮助..