gpt4 book ai didi

json - 找不到类型 models.MpMember 的 ByteString 解串器。尝试为此类型实现一个隐式的 ByteStringDeserializer

转载 作者:可可西里 更新时间:2023-11-01 11:11:58 24 4
gpt4 key购买 nike

我正在使用 etaty rediscala (1.4.2) 连接到 Play 2.4 中的 Redis。我的代码如下:

override def getMember(token: String): Future[Option[Member]] = {
redisClient.get[Member](token)
}

但是,它显示了这个错误:

未找到类型 models.Member 的 ByteString 解串器。尝试为此类型实现隐式 ByteStringDeserializer。

我的成员(member)如下:

case class Member(
memberId : Long = 0l,
email : String = "",
firstName : Option[String] = None,
lastName : Option[String] = None
)

object Member {
implicit val memberReads : Reads[Member] = Json.reads[Member]
implicit val memberWrites : Writes[Member] = Json.writes[Member]
}

感谢您的帮助。

最佳答案

我找到了解决方案。我将 Scala 对象转换为 Json 并作为字符串保存到 Redis。

object Member {
implicit val byteStringFormatter = new ByteStringFormatter[Member] {
def serialize(data: Member): ByteString = {
ByteString(Json.toJson(data).toString)
}

def deserialize(bs: ByteString): Member = {
val s = bs.utf8String
Json.fromJson[Member](Json.parse(s)).get
}
}

关于json - 找不到类型 models.MpMember 的 ByteString 解串器。尝试为此类型实现一个隐式的 ByteStringDeserializer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32123406/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com