С Playframework! 2.5 результат запроса WS теперь равен CompletionStage<WSResponse>
.Изменение API WS из Play Framework! 2.4 до 2.5
CompletionStage <WSResponse> completionStage = ws.url("http://url/enewsletter/signupAuto.aspx")
.setRequestTimeout(2500)
.setQueryParameter("email", user.getEmail())
.get();
CompletionStage <String> resultPromise = completionStage.thenApply(WSResponse::getBody);
//String result = responsePromise.get(2500).getBody();
String result = ""; // ?????
я мог легко получить результат с обещанием в перед использованием F.Promise<WSReponse>
, но я не вижу, чтобы получить, как получить результат с CompletionStage
. Перед продолжением процедуры мне нужен результат для обработки.
Причина, по которой мне нравится иметь результат, заключается в том, что эта функция выполняется в форме сбора 'для', которая затем возвращается.
Там есть общее руководство миграции здесь: https://www.playframework.com/documentation/2.5.x/JavaMigration25 и HTTPS: //www.playframework. com/documentation/2.5.x/api/java/play/libs/F.Promise.html имеет примечания в устаревании, показывающие, какие методы использовать. –