Home > database >  How can i retrieve query params from get request
How can i retrieve query params from get request

Time:02-18

I'm kind of new to Ruby and I stuck with a fairly simple task. I would like to pass GET parameters to Faraday's request. Here is my request function

        def request
            @request ||= Faraday.new do |conn|
                conn.url_prefix = BASE_URL
                conn.headers = @@headers
                conn.request :json
                conn.response :json, parser_options: { object_class: OpenStruct }
            end

Then this request method is being called like so

params = {"date_to": "2021.07.07", "date_from": "2022.01.30"}
request.get(url, params).body

I've tried to retrieve params in the request method using conn.params = @request.params But that didn' work.

CodePudding user response:

When you want to use params in the request method then you have to apss it to the method like this:

def request(params)
  @request ||= Faraday.new do |conn|
    conn.url_prefix = BASE_URL
    conn.headers = @@headers
    conn.params = params
    conn.request :json
    conn.response :json, parser_options: { object_class: OpenStruct }
end

And then call the methods like this:

params = { "date_to": "2021.07.07", "date_from": "2022.01.30" }
request(params).get(url).body
  • Related