Play 框架中的镜头支持

Lenses support in Play framework

Play 框架默认不包含任何镜头支持吗?像 Monocole 或带有 Scalaz 的东西。也许有推荐的替代方法(连同它们的基本原理)我不知道。

场景:我有一个不可变的、深度嵌套的案例对象 class,我想复制它并在对象的某处更改字段。

我特别希望在不需要太多样板的情况下非常简单地执行此操作,就像 Monocole 等镜头库所做的那样。

我很惊讶 Play 框架没有任何内置支持。我错过了什么吗?如果没有,是否有任何已知的支持计划?

Play 不包括类型联合和异构列表 (shapeless)。

Play 不包括自动资源管理(scala-arm)。

播放不包括镜头(Monocle or scalaz)。

它是一个 MVC 网络框架,仅限于解决该问题 space。然而,这些库中的任何一个都可以很容易地添加到 Play 项目中。 Play 使用 SBT,所以只需适当地添加到 build.sbt / Build.scala 的 libraryDependencies