如何在恢复未来的情况下在play框架中返回http Result?

时间:2017-04-30 12:15:12

标签: java scala http playframework

在我的控制器中我调用了一个返回未来的方法,在我的恢复中我想返回一个http结果,所以我做了类似的事情:\

myController = Action.async {

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

}

但是我收到了这个错误:

  

无法将Throwable的实例写入HTTP响应。尝试定义   可写[Throwable] BadRequest(例外)

如果我想返回带有异常的http Result,我怎么能做到这一点?

2 个答案:

答案 0 :(得分:0)

BadRequest(exception.getMessage)应该有效。

答案 1 :(得分:0)

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

但是,阅读不同类型的播放(或http)一般都可以返回并支持。一些类型是:text,Json,XML ..这可能有助于您更好地理解。