Play-Mongo 0.3.0,重构自动生成 Json Formats 模块

joymufeng
 joymufeng
发布于 2018年08月07日
收藏 1

Play-Mongo 0.3.0 已发布。

Play-Mongo 0.2.0 版本通过 implicit macro 实现自动生成 Json Formats,代码如下:

package object models {
  implicit def formats[T <: Product]: Format[T] = macro JsonFormatMacro.materializeJsonFormat[T]
}

但是在实际使用中发现,sbt 的增量编译和热加载有时会导致自动生成失效。故 Play-Mongo 0.3.0 版本使用 macro annotation 重新实现了该功能,用法如下:

package object models {
  @JsonFormat("models")
  implicit val formats = ???
}

在编译时,@JsonFormat 注解处会自动生成 models 包下所有 case classes 的隐式 Format 对象。

本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创开源社区。
转载请注明:文章转载自 开源中国社区 [http://www.oschina.net]
本文标题:Play-Mongo 0.3.0,重构自动生成 Json Formats 模块
加载中
返回顶部
顶部