我正在使用Play Framework,并且尝试使用内置的WS
支持发出HTTP请求。每当我尝试在控制器中发出此HTTP请求时,都会出现此错误
error: cannot find symbol
为代码
public static Result foo(){
return async(//ERROR ON THIS LINE FOR `async()`
WS.url(GoogleStrategy.getTokenUrl).post(getTokenUrlParams).map(
new F.Function<WSResponse, Object>() {
@Override
public Object apply(WSResponse wsResponse) throws Throwable {
return ok(wsResponse.asJson());
}
}
)
);
}
这很奇怪,因为在文档中显示的所有示例中,此接缝都是执行我希望做的正确方法。
最佳答案
您几乎可以肯定在看该文档的旧版本。不再需要async()
。
当前版本:https://www.playframework.com/documentation/2.3.x/JavaAsync
public static Promise<Result> foo(){
return WS.url(GoogleStrategy.getTokenUrl).post(getTokenUrlParams).map(
new F.Function<WSResponse, Result>() {
@Override
public Object apply(WSResponse wsResponse) throws Throwable {
return ok(wsResponse.asJson());
}
}
);
}