【发布时间】:2017-06-07 12:58:20
【问题描述】:
我正在尝试为此创建一些格式:
case class Work[T](todo: Seq[T], failed: Seq[T], success: Seq[T])
object Work {
implicit def format[T](implicit r: Reads[T], w: Writes[T]): Format[Work[T]] = Json.format[Work[T]]
}
object InternalMessage {
implicit def format[D, R](implicit
rD: Reads[D],
wD: Writes[D],
rR: Reads[R],
wR: Writes[R]
): Format[InternalMessage[D, R]] = Json.format[InternalMessage[D, R]]
}
case class InternalMessage[D, R](
download: List[Work[D]],
refine: List[Work[R]],
numberOfTries: Int
)
这不起作用,我不明白为什么。错误是
[error] /home/oleber/develop/data-platform/modules/importerTemplate/src/main/scala/template/TemplateModel.scala:46: No apply function found matching unapply parameters
[error] implicit def format[T](implicit r: Reads[T], w: Writes[T]): Format[Work[T]] = Json.format[Work[T]]
[error] ^
[error] /home/oleber/develop/data-platform/modules/importerTemplate/src/main/scala/template/TemplateModel.scala:55: No apply function found matching unapply parameters
[error] ): Format[InternalMessage[D, R]] = Json.format[InternalMessage[D, R]]
感谢您的帮助
【问题讨论】:
-
您的代码似乎编译得很好。您是否在
Work对象中添加了其他apply或unapply方法? -
@CyrilleCorpet,你使用什么 Scala/Play 版本?我可以确认,对于 Scala 2.11.11 上的
play-json版本2.5.15上的Work[T]类,我得到了相同的错误,从 build.sbt 显式引用(即没有其他显式的 Play 依赖项)
标签: json scala playframework