Httparty请求查询未正确解析

时间:2016-06-19 13:33:07

标签: ruby httparty

我想将一些查询参数传递给HTTParty.get。我有一个帮助方法来处理请求

def handle_request
  begin
    response = yield
    if response['Success']
      response['Payload']
    else
      raise Bondora::Error::ApiError, "#{response['Errors'][0]['Code']}: #{response['Errors'][0]['Message']}"
    end
  rescue Net::OpenTimeout, Net::ReadTimeout
    {}
  end
end

另一种提出请求的方法:

def investments(*params)
  handle_request do
    url = '/account/investments'
    self.class.get(url, :query => params)
  end
end

当我将此方法称为investments({"User" => "test"})时,我应该向/account/investments?User=test发送GET请求。 不幸的是,请求参数没有被正确解析,结果请求如下所示:/account/balance?[{%22User%22=%3E%22test%22}]

有什么理由发生这种情况?我认为这与我写的方法有关。

1 个答案:

答案 0 :(得分:1)

当您将方法声明为def investments(*params)时,params将包含数组参数,并希望将哈希传递给您的{ {1}}致电。因此,要么删除星号,只需说出get,或稍后在方法中使用def investments(params)