J'ai deux projets que je les appelle les projets serveur et client. Du côté serveur, j'utilise un service Web. J'envoie une certaine demande à ce service Web, et il me renvoie une très longue réponse JSON. Ensuite, je peux faire une logique métier et renvoyer ma réponse. Lorsque j'envoie une requête depuis un navigateur Web, je peux vérifier que le côté serveur renvoie ce que j'attendais, un très grand objet JSON (environ 4000 lignes environ).Je ne peux pas lire la réponse grand json de Ruby
Le problème commence lorsque j'expédie une demande du côté client vers le côté serveur. Je ne peux pas voir la réponse complète. Tout ce que je peux voir, c'est le top 10 des lignes, et les lignes du bas 3. La partie du milieu est partie!
J'ai essayé trois gemmes Ruby, qui sont Rest-client, Typhoeus et Faraday. Vous pouvez voir comment je les ai utilisés ci-dessous.
P.S. Je n'ai pas de problèmes avec des réponses courtes. Mais quand il s'agit de grandes/grandes/longues réponses, il coupe simplement le milieu.
Typhée:
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"})
Faraday:
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
Rest-client ::
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" }
Je ne comprends pas ce que vous entendez par « obtenir complètement un gros résultat JSON »? qu'attendez-vous? Qu'avez-vous eu à la place? –
J'ai édité ma question, maintenant. – esmrkbr