Java 如何在play framework中返回http结果以防将来恢复?
在我的控制器中,我调用了一个返回未来的方法,在recover中,我想返回一个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
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。。这可能会帮助您更好地理解