从另一种方法播放Scala呼叫控制器方法

时间:2016-05-17 18:56:22

标签: java scala playframework-2.0 playframework-2.3 ws-client

我一直在使用Play框架进行Scala并遇到了一些麻烦。

我试图从控制器方法调用另一个控制器方法。首先,我尝试使用WSRequest / Response调用其他控制器方法的路由然而WSResponse不包含任何内容!没有Cookie或标题尽管Controller的方法会返回重定向WithCookies。

此外,我不确定如何直接调用控制器方法,因为它返回EssentialAction,但第一种方法使用隐含请求ActionAsync方法,它需要一个未来[结果]。我如何使用EssentiaLAction来创造未来[结果] !!?

关于如何解决我的问题的任何想法?谢谢!

1 个答案:

答案 0 :(得分:1)

基于Action composition

def a(s: String): Action[AnyContent] = Action.async {
  Future(Ok(s))
}

def b: Action[AnyContent] = Action.async {request =>
  a("from b")(request)
}