[英]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.