1

ケース クラス コンストラクターで使用できない追加のプロパティを書き込むことは可能ですか?

case class Task(var name:String, var counter:Int) extends Entity

Entityケースクラスで拡張することでidプロパティも持つ

implicit val task = (
    (__ \ 'name).write[String] and
    (__ \ 'counter).write[Int] and
    (__ \ 'id).write[String] <==== ???
)(unlift(Task.unapply))

このプロパティを追加するにはどうすればよいですか?

4

1 に答える 1

1

次のように書き込みを定義できます。

implicit val writer = new Writes[Task] {
  def writes(t: Task): JsValue = {
    Json.obj("name" -> t.name,
      "counter" -> t.counter,
      "id" -> t.getIdFromSomewhere) //here's the thing you want
  }
}
于 2014-02-27T13:41:14.530 に答える