Я пытаюсь проанализировать свои классы дел в JsObject и из него, но получаю сообщение об ошибке перегруженного метода, которая мне не ясна.
В сообщении об ошибке говорится, что "перегруженное значение метода применимо с альтернативами".
Вот код чтения:
import play.api.libs.json._
import play.api.libs.functional.syntax._
implicit val accountCreatedReads: Reads[AccountCreated] = (
(JsPath \ "eventId").read[String] and
(JsPath \ "timestamp").read[OffsetDateTime] and
(JsPath \ "accountId").read[String] and
(JsPath \ "accountAttributes").readNullable[Attributes] and
(JsPath \ "expirationTime").readNullable[Long]
)(AccountCreated.apply _)
А вот и класс случая:
case class AccountCreated(
eventId: String,
timestamp: OffsetDateTime,
accountId: String,
accountAttributes: Option[Attributes] = None, // This is the line the error refers to
expirationTime: Option[Long] = None
)
Вот класс, представляющий атрибуты:
type Attributes = JsValue
Может кто-нибудь помочь мне здесь?Я впервые использую эту часть play-json, поэтому мне интересно, что я делаю не так.