ruby-on-rails - 无法从 Ruby 读取大的 json 响应

标签 ruby-on-rails json rest-client faraday typhoeus

我有两个项目,我称之为服务器和客户端项目。

在服务器端,我使用的是网络服务。我向 这个网络服务,它返回给我一个很长的 JSON 响应。那我可以 执行一些业务逻辑,然后返回我的响应。

当我从网络浏览器发送请求时,我可以验证服务器端 返回我所期望的,一个非常大的 JSON 对象(大约 4000 行长)。

当我从客户端向服务器端发送请求时,问题就开始了。 我看不到完整的回复。我只能看到前 10 行,而 底部 3 行。中间部分不见了!

我已经尝试了三个 Ruby gem,分别是 Rest-client、Typhoeus 和 Faraday。 您可以在下面看到我如何使用它们。

附言我对简短的回复没有问题。但是当涉及到 大/大/长响应它只是切断了中间部分。

斑疹伤寒

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" }

enter image description here

最佳答案

使用方法:POST代替GET

(因为 GET 查询是有限制的)

关于ruby-on-rails - 无法从 Ruby 读取大的 json 响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37804834/

相关文章:

ruby-on-rails - Rails Wiki网站-使用htmldiff maxes cpu编辑文章突出显示/删除线

ruby-on-rails - 那会是什么关系呢?

javascript - 无法在具有年度系列的 highcharts 上设置最小值/最大值

rubygems 休息客户端错误消息

ruby-on-rails - 通过初始化程序向 ActiveRecord::Base 添加范围?

没有参数的 java.lang.RuntimeException : Failed to invoke public com. example.syncapp.MessageBase()

java - Grails - 从 groovy 中的默认 json 转换器中排除类名的更好方法?

rest - 如何从Groovy RestClient输出生成的请求和响应?

ruby - rest-client 使用 authlogic 登录

ruby-on-rails - cucumber 和瓦蒂尔突然停止工作