HTTParty不向API发送数据

时间:2015-07-16 13:30:34

标签: ruby-on-rails api httparty

我正在尝试调用Restful API(基本上是第三方应用程序)。这是我的代码:

resp = HTTParty.post("http://example.com/test/api/url",
{
:query => {"id"=> 3, "example_payload"=> "test payload", "details"=> {}},
:headers => { 'Content-Type' => 'application/json', 'Accept' => 'application/json', 'client_key' => "xxx-xxx-xxxxx" }
})

这将返回状态为" 200 ok"的响应。但是我无法在第三方应用程序中找到更改。

我试过" Rest-client"和" Net-http"同样。他们俩都没有工作。

感谢您提前帮助。

1 个答案:

答案 0 :(得分:0)

我认为是

  

“无法在我的第三方应用程序中找到更改”

,你的意思是你无法击中第三方网址。

<强>解决方案:

您不需要将查询和标头包装到散列中。只需将它们作为参数传递:

HTTParty.post(
"http://example.com/test/api/url",
query: {"id"=> 3, "example_payload"=> "test payload", "details"=> {}},
headers: { 'Content-Type' => 'application/json', 
           'Accept' => 'application/json',    
           'client_key' => "xxx-xxx-xxxxx" 
          }
)

这对我有用。