【问题标题】:Play Scala Call Controller Method From Another Method从另一个方法播放 Scala 调用控制器方法
【发布时间】:2016-09-14 00:43:02
【问题描述】:

我一直在使用 Play Framework for Scala,但遇到了一些麻烦。

我正在尝试从控制器方法调用另一个控制器方法。起初我尝试使用 WSRequest/Response 来调用其他控制器方法的路由,但是 WSResponse 什么都不包含!没有 Cookie 或 Header 即使控制器的方法将返回重定向 WithCookies。

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

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

【问题讨论】:

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


    【解决方案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)
    }
    

    【讨论】:

    • 您是否也知道为什么 WSResponse 没有从第二次调用中捕获正确的 cookie/标头/或状态?在此之前一切正常
    • 我不明白 cookie/标题/或状态的问题。如果此答案对您的主要问题有帮助,请检查已回答(有用)并为您的其他问题创建新问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-23
    • 2020-07-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多