簡體   English   中英

無法從 Ruby 讀取大的 json 響應

[英]Cannot read big json response from Ruby

我有兩個項目,我稱之為服務器和客戶端項目。

在服務器端,我使用的是 Web 服務。 我向這個 Web 服務發送了一個特定的請求,它返回了一個很長的 JSON 響應。 然后我可以做一些業務邏輯,並返回我的響應。

當我從 Web 瀏覽器發送請求時,我可以驗證服務器端是否返回了我預期的內容,一個非常大的 JSON 對象(大約 4000 行長)。

當我從客戶端向服務器端發送請求時,問題就開始了。 我看不到完整的回復。 我只能看到前 10 行和后 3 行。 中間部分沒了!

我已經嘗試了三個 Ruby gem,它們是 Rest-client、Typhoeus 和 Faraday。 你可以在下面看到我是如何使用它們的。

PS我對簡短的回應沒有問題。 但是當涉及到大/大/長響應時,它只是削減了中間部分。

台風:

request = Typhoeus::Request.new( "http://localhost:3000/api/json", method: :get, followlocation: true,
      params: { function: "getAirAvailability", tripType: params[:tripType], departureDateTime: params[:departureDateTime] , destinationLocation: params[:destinationLocation] , originLocation: params[:originLocation] , passenger_adult: params[:adult], passenger_child: params[:child], passenger_infant: params[:infant], passenger_soldier: params[:soldier] },
      headers: { Authorization: "Chg25WxSvQsBsxKyVKyV"})

法拉第:

conn = Faraday.new(:url => 'http://localhost:3000/api/json', headers: { "Authorization" => "Chg25WxSvQsBsxKyVKyV" }) do |faraday|
      faraday.response :logger 
      faraday.adapter  Faraday.default_adapter 
    end
    response = conn.get '/api/json', { function: "getAirAvailability", tripType: "ONE_WAY", departureDateTime: "2016-06-17" , destinationLocation: "ESB" , originLocation: "CKZ" , passenger_adult: 1, passenger_child: 0, passenger_infant: 0, passenger_soldier: 0 }
    return response

休息客戶端::

response = RestClient.get "http://localhost:3000/api/json", { params: { function: "getAirAvailability", tripType: "ONE_WAY", departureDateTime: "2016-06-17" , destinationLocation: "ESB" , originLocation: "CKZ" , passenger_adult: 1, passenger_child: 0, passenger_infant: 0, passenger_soldier: 0 } , :Authorization => "Chg25WxSvQsBsxKyVKyV" }

在此處輸入圖片說明

使用method: POST代替GET

(因為GET查詢受到限制)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM