2015-08-08 3 views
3

Я пытаюсь интегрироваться с app Google qpx (для полетов). Запрос POST с корпусом JSON в нем. я написал следующее:Http-ошибка 500 при попытке подключения google qpx api

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(); 
    } 

и получаю эту ошибку:

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] [email protected]} 

Может кто-нибудь помочь?

ответ

0

Если кому-то интересно, проблема заключалась в том, что «срез», поданный в запросе JSON, должен быть списком.

должно быть так:

{ 
    "request": { 
    "passengers": { 
     "kind": "qpxexpress#passengerCounts", 
     "adultCount": 1 
    }, 
    "slice": [ 
     { 
     "kind": "qpxexpress#sliceInput", 
     "origin": "TLV", 
     "destination": "JFK", 
     "date": "2015-09-01" 
     } 
    ], 
    "solutions": 1 
    } 
} 
Смежные вопросы