Http 500 error when trying to connect google qpx api
I am trying to integrate with google qpx api (for flights). POST request with JSON body in it. I wrote the following:
Head request = new Head();
Gson gson = new Gson();
String json = gson.toJson(request);
System.out.println(json);
HttpClient httpClient = HttpClientBuilder.create().build();
try {
HttpPost post = new HttpPost("https://www.googleapis.com/qpxExpress/v1/trips/search?key=MY_API_KEY");
StringEntity entity = new StringEntity(json);
post.setEntity(entity);
post.addHeader("content-type", "application/json");
post.addHeader("Accept","application/json");
HttpResponse response = httpClient.execute(post);
System.out.println(response);
} catch (Exception e) {
e.printStackTrace();
}
and get this error:
HttpResponseProxy{HTTP/1.1 500 Internal Server Error [Vary: Origin, Vary: X-Origin, Content-Type: application/json; charset=UTF-8, Date: Sat, 08 Aug 2015 06:51:58 GMT, Expires: Sat, 08 Aug 2015 06:51:58 GMT, Cache-Control: private, max-age=0, X-Content-Type-Options: nosniff, X-Frame-Options: SAMEORIGIN, X-XSS-Protection: 1; mode=block, Server: GSE, Alternate-Protocol: 443:quic,p=1, Transfer-Encoding: chunked] org.apache.http.client.entity.DecompressingEntity@4de5031f}
Can anyone please help?
+3
source to share
1 answer
in case anyone is interested, the problem was that the "slice" supplied in the JSON request must be a list.
should look like this:
{
"request": {
"passengers": {
"kind": "qpxexpress#passengerCounts",
"adultCount": 1
},
"slice": [
{
"kind": "qpxexpress#sliceInput",
"origin": "TLV",
"destination": "JFK",
"date": "2015-09-01"
}
],
"solutions": 1
}
}
0
source to share