Scala Play 2.4.x控制器类链接?

天空步行者

我正在使用play-slick-3.0项目作为迁移我拥有的旧版Play项目的基础。旧版controller.Application曾经是一个对象,现在是一个类,所有其他控制器实现同样都是对象,现在是类。遗留项目正在执行“控制器链接”,即应用程序委托给其他控制器:

class Application extends Controller {
...
  def uploadDo(context: String) = { implicit request ⇒ 
    // a lot of boilerplate code common to all contexts
    context match {
      case "aum" ⇒ AumController.uploadDo(storedFile)
      case "portfolio" ⇒ PortfolioController.uploadDo(storedFile)
      case "price" ⇒ PriceController.uploadDo(storedFile)
    }
    // more boilerplate code common to all contexts
  }
}

问题是我无法再执行这种委托,因为AumController是一个类,而不是一个对象。我也不能定义关联的对象,因为这些类被实例化并且依赖项是由框架注入的……例如,在同一项目中,例如Application.scala,就不可能直接实例化它。

我该如何解决/迁移上面的授权问题?

Bhavya Latha Bandaru

您可能可以利用反向路由策略

  class Application extends Controller {
   ...
   def uploadDo(context: String) = { implicit request ⇒ 
    // a lot of boilerplate code common to all contexts
    context match {
      case "aum" ⇒ routes.AumController.uploadDo(storedFile)
      case "portfolio" ⇒ routes.PortfolioController.uploadDo(storedFile)
      case "price" ⇒ routesPriceController.uploadDo(storedFile)
    }
    // more boilerplate code common to all contexts
  }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

具有Scala的Play 2框架中的单元测试控制器

如何在Play Framework 2 Scala中对控制器进行单元测试

使用Scala在Play 2.x应用中使用Spring Data Neo4j

Scala Play框架控制器,在JSON和case类之间转换

Scala Play Framework-作为类或单例的控制器

Scala Play 2.5 控制器类来提供静态 HTML

在Play for Scala中测试注入的控制器

Play / Scala注入控制器进入测试

Scala Play框架反向路由和控制器

在Play2.5 / scala控制器中处理异常

在View中使用控制器方法-Play框架-Scala

Play / Scala将对象注入控制器进行测试

让Swagger在Play2 Scala中工作

Scala-Play2配置获取部分

play-authenticate-在scala视图或控制器上获取登录用户的用户信息

Scala项目中的Java控制器在play框架中使用?

如何在Play Scala中从子控制器反向路由到子路由?

Scala play!2为外部库中的类创建Json格式化程序

Scala(2.11.1)和Play框架(2.x)if语句在Flash作用域中具有变量

Play Framework 2.x无法识别新创建的scala.html视图

Play Scala框架:编译错误[类型应用程序不是软件包控制器的成员]

使用PM2运行Play Scala应用程序

Scala Play 2.5动作合成与Deadbolt-2动作

在Play!2 Scala中将文件发送到Web服务

Scala Play 2-将JsValue转换为模型对象

无法使用mysql结果解析符号scala play2

子模块中的play2调用控制器,模型,视图

play2:FakeRequest()。withBody(body)在控制器中自动转换为Request [AnyContentAsEmpty]

关于执行例外的MS SQL JDBC错误-无效的对象名称[Play 2.x scala应用]