有特质
Equals
扩展特征的案例类
trait Role[A, B] {
val _id: Option[A] = None
val value: Option[List[B]] = None
val id: Option[String] = None
}
由于错误而没有编译,"没有Json格式的角色"。
我在stackoverflow中尝试了几个可用的示例,在json格式化程序中,对于特征没有任何效果。
答案 0 :(得分:2)
是的,这是正确的,因为当播放尝试为用户进行格式化时,它不知道如何将Role
格式化为json。
你可以这样做,首先添加如下内容:
implicit val roleFormat = Json.format[Role]
到object User
Play文档中的要求:
这些宏依赖于对它们正在运行的类型的一些假设 用:
- 必须有一个具有apply和unapply方法的伴随对象
- unapply的返回类型必须与apply方法的参数类型匹配。
- apply方法的参数名称必须与JSON中所需的属性名称相同。
案例类本身满足这些要求。对于更多自定义类 或者特征,你可能必须实施它们。