我使用法拉第请求 api。我想缓存响应正文并使用它来代替指定过期时间的请求。
我找到了 FaradayMiddleware::Caching 并且我可以缓存响应正文,但我不知道如何使用缓存而不是请求。
我使用的 API 服务不支持 http 缓存,所以我不能使用 faraday-http-cache gem。
在我的代码下面
connection = Faraday.new(url: 'http://exapmle.com') do |faraday|
faraday.request :url_encoded
cache_dir = File.join('/tmp/cache')
faraday.response :caching do
ActiveSupport::Cache::FileStore.new cache_dir, :expires_in => 3600
end
faraday.adapter Faraday.default_adapter
end
connection.get '/path/to/api', version: nil
如何使用缓存数据而不是正常响应?
缓存键是请求 url,但 url 是动态变化的。所以我想我需要一种方法来获取法拉第构造的 url。