我正在使用 play-json 将传入的 json 序列化为案例类,例如来自 sqs 源或来自 api 调用。
它是一个非常简单的 JsonSerialization 类,我在需要的地方导入它:
object JsonSerialization {
implicit val StatusFormat: Format[Status] = EnumFormats.formats(Status)
implicit val PersonFormat: OFormat[Person] = Json.format[Person]
}
但现在我想知道,根据我对 Dao 的理解,需要将我的案例类序列化为 BSON ,因为我的 Dao 获取了案例类,并且当我从某些东西中获取反序列化到我的案例类时。我只在 Dao 中导入:
import reactivemongo.play.json.compat.json2bson.{toDocumentReader, toDocumentWriter}
import serializers.JsonSerialization._
并找到并插入完美的作品,
def insert(person: Person): Future[Person] = {
val writeRes: Future[WriteResult] = collection.insert.one(person)
writeRes.onComplete {
case Failure(e) => e.printStackTrace()
case Success(writeResult) =>
logger.info(s"successfully inserted person")
}
writeRes map { _ => person }
}
def find(name: String): Future[Person] = {
collection.find(BSONDocument(
"name" -> name
)).requireOne[Person]
}
你能告诉我道中哪个部分负责什么吗?我有点困惑
抱歉,如果这是一个初学者问题,但得到简短的解释会很有帮助