【问题标题】:How to return http Result in play framework in case of recovering future?如果恢复未来,如何在播放框架中返回http结果?
【发布时间】:2017-05-30 20:28:53
【问题描述】:

在我的控制器中我调用了一个返回未来的方法,在我的恢复中我想返回一个 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 结果,我该如何做呢?

【问题讨论】:

    标签: java scala http playframework


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-03-05
        • 2016-11-28
        • 2019-06-10
        • 1970-01-01
        • 2020-09-09
        相关资源
        最近更新 更多