Scala 2.13 迁移

Scala 2.13 migration

我正在将 Play 2.8.8 项目从 Scala 2.12 迁移到 2.13。

我在 Play routes 文件中有一个非常奇怪的错误:

method right in class Either is deprecated (since 2.13.0): Either is now right-biased, use methods directly on Either

路由文件、生成的 Scala 路由文件或相关控制器中没有 .right 个调用。

路由文件:

POST          /roles/:id        controllers.Authentication.api.RolesResource.addRoleToAccount(id:models.users.AccountId)
DELETE        /roles/:id        controllers.Authentication.api.RolesResource.removeRoleFromAccount(id:models.users.AccountId)
GET           /roles/:id        controllers.Authentication.api.RolesResource.getRolesForAccount(id:models.users.AccountId)

感谢您提供此错误的可能来源的任何指导。

我认为原因在play.core.routing.GeneratedRouter class.

从我的路线文件这个方法:

    (for {
a1 <- pa1.value.right
 a2 <- pa2.value.right}
      yield (a1, a2))
      .fold(badRequest, { case (a1, a2) => generator(a1, a2) })
  }

它包含对已弃用的 .right 函数的调用。