【发布时间】:2016-12-28 19:57:32
【问题描述】:
我有一个继承自特征的案例类:
trait Thing {
val name: String
val created: DateTime = DateTime.now
}
case class Door(override val name: String) extends Thing
这是 akka-http,我正在尝试将 JSON 返回到 get 请求:
...
~
path ("get" / Segment) { id =>
get {
onComplete(doorsManager ? ThingsManager.Get(id)) {
case Success(d: Door) => {
complete(200, d)
}
case Success(_) => {
complete(404, s"door $id not found")
}
case Failure(reason) => complete(500, reason)
}
}
} ~
...
但我只得到名称的 JSON。我确实在范围内有隐式 Joda 序列化程序。 如果我在案例类的构造函数中覆盖“创建”时间戳,它确实会被序列化,但它定义了目的,因为我不需要(或不希望)用户提供时间戳。我尝试将时间戳移到 Door 中(作为覆盖或只是跳过特征),结果是相同的(即没有“创建”)。
我如何告诉 JSON4S 也序列化内部成员(和继承的成员)?
【问题讨论】: