从 Play Framework 更改 WS API! 2.4 至 2.5
Posted
技术标签:
【中文标题】从 Play Framework 更改 WS API! 2.4 至 2.5【英文标题】:Changing WS API from Play Framework! 2.4 to 2.5 【发布时间】:2016-05-10 13:23:47 【问题描述】:使用 Playframework! 2.5 WS 请求的结果现在是CompletionStage<WSResponse>
。
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>
之前,我可以很容易地从promise 中获得结果,但我不知道如何使用CompletionStage
获得结果。在继续程序之前,我需要处理结果。
我喜欢这个结果的原因是这个函数是在一个“for”循环中执行的,收集信息然后返回。
【问题讨论】:
【参考方案1】:我想我在以下位置找到了它:
completionStage.toCompletableFuture();
【讨论】:
这里有一个通用的迁移指南:playframework.com/documentation/2.5.x/JavaMigration25 和 playframework.com/documentation/2.5.x/api/java/play/libs/… 在弃用中提供了说明使用哪些方法的说明。以上是关于从 Play Framework 更改 WS API! 2.4 至 2.5的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Play Framework 的 WS API 中获取 POST 请求对象或 URL 字符串?
Play Framework 中的 SSL 导致“常规 SSLEngine 问题”。 (nginx)
Play Framework:如何不查看文件夹以了解 Play Framework 中的更改
Play Framework 2.1 - 找不到隐式 ExecutionContext