WS.WSRequestHolder request = WS.url(url);
logger.info("1")
final Promise<Result> resultPromise = request.get().map(
new Function<WS.Response, Result>() {
public Result apply(WS.Response response) {
logger.info("2");
try {
logger.info("3");
return ok(response.asJson());
} catch(Exception e) {
logger.info("4");
logger.error(e.getMessage());
return status(response.getStatus());
}
}
}
);
logger.info("5");
return resultPromise;
对于一个特定的URL,我的代码永远不会进入try / catch语句 - 它会在第1点和第5点记录 - 这是什么意思?该网址还没有返回任何内容?它适用于其他网址,即使它们返回400或由于格式导致异常。
我也尝试使用以下方法简化它:
WS.WSRequestHolder request = WS.url(url);
final WS.Response resultPromise = request.get().get();
logger.info("Before result");
logger.info("Res = " + resultPromise.getBody());
logger.info("Before result");
return null;
我没有看到使用该特定网址记录的任何行。它使用了一个URL,其中resultPromise.getBody()为空