1

我正在尝试使用 Faraday gem(版本 0.8.4)与外部 API 进行交互。API 要求在 URL 上使用斜杠,例如https://api.example.com/1.2/. 这是我用来发出请求的代码:

connection = Faraday.new(:url => 'https://api.example.com/1.2/')
response = connection.get do |request|
  request.params['api_key'] = 'MY_KEY'
end

但是,在检查响应后,我看到尾部斜杠已从 URL 中删除:

response.env[:url]
=> #<URI::HTTPS:0x007fda3513d5f0 URL:https://api.wpengine.com/1.2?api_key=MY_KEY>

我很难弄清楚如何防止斜线被剥离。有谁知道这是怎么做到的吗?

4

1 回答 1

0

我能够通过将斜杠移动到get方法中来使其工作:

connection = Faraday.new(:url => 'https://api.example.com')
response = connection.get('/1.2/') do |request|
  request.params['api_key'] = 'MY_KEY'
end

response.env[:url]
=> #<URI::HTTPS:0x007fdb95166f98 URL:https://api.example.com/1.2/?api_key=MY_KEY>
于 2012-10-08T15:10:11.490 回答