假设我有以下抽象基类:
package Models
import reactivemongo.bson.BSONObjectID
abstract class RecordObject {
val _id: String = BSONObjectID.generate().stringify
}
它由以下具体案例类扩展:
package Models
case class PersonRecord(name: String) extends RecordObject
然后我尝试使用如下代码获取 JSON 字符串:
import io.circe.syntax._
import io.circe.generic.auto._
import org.http4s.circe._
// ...
val person = new PersonRecord(name = "Bob")
println(person._id, person.name) // prints some UUID and "Bob"
println(person.asJso) // {"name": "Bob"} -- what happened to "_id"?
如您所见,_id: String
继承自的属性RecordObject
丢失了。我希望内置编码器应该可以很好地用于这个用例。我真的需要自己建造吗?