Scala CRUD pojo 生成

Scala CRUD pojo generation

我正在想办法在 Scala 中使用 POST 和类型 Foo 的 PATCH 方法实现简单的 CRUD API。因此,我对 API 的实际类型 FooPOST pojo 和 PATCH pojo 的定义如下:


case class Foo(
  id: String,
  field1: String,
  field2: Int
)

case class CreateFoo(
  field1: String,
  field2: Int
)

case class UpdateFoo(
  field1: Option[String],
  field2: Option[Int],
)

我想避免所有这些样板并保持所有 3 个 类 同步,即如果我想添加 field3: Boolean。我开始阅读类型宏,它似乎是生成我所有 pojo 的正确工具。但是,我觉得这个问题必须已经解决并且我正在重新发明轮子。有解决方案吗?

看来你需要代码生成,所以为什么不使用代码生成器(例如 Telosys https://www.telosys.org/

使用这样的工具,您只需定义一次 class(在“实体”文件中),它就会生成所有重复代码(无论使用哪种语言,在您的情况下为 Scala)