Поскольку вы не представили свою запись redisWrites
, так что не можете комментировать это.
То, как я достигаю чего-то подобного, - это сначала реализовать методы чтения и записи формата, а затем создать для них неявное.
Object Formatter {
def uuidFormat: Format[UUID] = new Format[UUID] {
def writes(uuid: UUID): JsString = JsString(uuid.toString)
def reads(value: JsValue): JsResult[UUID] = value match {
case JsString(x) => UUID.fromString(x) match {
case Success(uuid) => JsSuccess(uuid)
case Failure(msg) => JsError(__ 'UUID, ValidationError("invalid UUID", msg))
}
case _ => JsError(__ 'UUID, ValidationError("invalid UUID", "Missing UUID String"))
}
}
implicit val uuidFormat = uuidFormat
}
Затем импортируйте uuidFormat, и вам нужно выполнить json serde
import Formatter.uuidFormat