Java 如何在play framework中返回http结果以防将来恢复?

Java 如何在play framework中返回http结果以防将来恢复?,java,scala,http,playframework,Java,Scala,Http,Playframework,在我的控制器中,我调用了一个返回未来的方法,在recover中,我想返回一个http结果,所以我做了如下操作:\ myController = Action.async { myService.futureMethod().map(result => { Ok(result) }) recover { case exception => println("futureMethod failed with: ",exce

在我的控制器中,我调用了一个返回未来的方法,在recover中,我想返回一个http结果,所以我做了如下操作:\

myController = Action.async {

    myService.futureMethod().map(result => {
        Ok(result)
    }) recover {
        case exception =>
        println("futureMethod failed with: ",exception)
        BadRequest(exception)
    }

}
但我得到了这个错误:

无法将Throwable的实例写入HTTP响应。试图定义 可写[Throwable]错误请求(异常)


如果我想返回带有异常的http结果,如何正确处理此问题?

BadRequest(exception.getMessage)应该可以工作。

如果要显示来自异常的消息,请使用解决方案:BadRequest(exception.getMessage)

但是,读起来对不同类型的播放(或http)一般都可以返回并支持。有些类型是:文本、Json、XML。。这可能会帮助您更好地理解