Я пытаюсь найти способ реализовать простой CRUD API в Scala с методами POST и PATCH для типа Foo
. Итак, у меня есть определения для моего API фактического типа Foo
, POST
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
. Я начал читать макросы типа, и это похоже на правильный инструмент для работы, чтобы генерировать все мои pojos. Тем не менее, я чувствую, что эта проблема должна быть уже решена, и я изобретаю колесо. Есть ли уже готовое решение?