существуют два класса Foo
и Bar
. Foo
содержит поле Bar
. Вопрос в том, как реализовать неявный json Writes
для класса Foo
?
Вот код:
package models
import play.api.libs.json._
case class Foo(id: String, bar: Bar)
object Foo {
implicit val implicitFooWrites = new Writes[Foo] {
def writes(foo: Foo): JsValue = {
Json.obj(
"id" -> foo.id,
"bar" -> foo.bar
)
}
}
}
case class Bar(x: String, y: Int)
object Bar {
implicit val implicitBarWrites = new Writes[Bar] {
def writes(bar: Bar): JsValue = {
Json.obj(
"x" -> bar.x,
"y" -> bar.y
)
}
}
}
Когда я пытаюсь скомпилировать, я получаю следующую ошибку:
Нет десанциализатора Json для моделей типов. Попробуйте реализовать неявные Writes или Format для этого типа.
Я не понимаю эту ошибку компилятора, так как я реализовал неявный Writes для models.Bar. В чем проблема?