2016-08-13 6 views
2

Я пытаюсь обратиться к API-интерфейсу facebook REST и получить ответ JSON Response. Я могу получить ответ в REST-клиенте, поэтому я знаю, что requestUrl, который я использую, при создании HttpRequest в следующем правильном коде. Но когда я пытаюсь подражать GET с помощью akka-http javadsl, я не могу понять, как извлечь json из ResponseEntity.Извлечь ответ json string из akka http javadsl ResponseEntity

final HttpRequest request = HttpRequest.GET(requestUrl); 
final Materializer materializer = ActorMaterializer.create(this.context.getActorSystem()); 

final CompletionStage<HttpResponse> responseFuture = 
       Http.get(this.context.getActorSystem()).singleRequest(request, materializer); 

final HttpResponse response = responseFuture.toCompletableFuture().get(); 

Я ожидаю ответ что-то в следующем -

{ 
    "data": [ 
     { 
     "cpc": 9.7938056680162, 
     "clicks": "247", 
     "impressions": "15949", 
     "spend": 2419.07, 
     "date_start": "2016-06-15", 
     "date_stop": "2016-08-13" 
     } 
    ], 
    "paging": { 
     "cursors": { 
     "before": "MAZDZD", 
     "after": "MAZDZD" 
     } 
    } 
} 

ответ

1

Вы должны получить объект ответа от ответа по телефону ResponseEntity entity = response.entity() и после этого вызова entity.toStrict(timeoutMillis, materialiser).data.decodeString("UTF-8"), чтобы получить строку

тела Вы можете поиск подписи этих методов в official API documentation