Shu*_*sky 2 datetime json scala jodatime playframework
尝试迁移我的代码以播放2.6除了DateTime类型的格式外,一切都很好.
作为迁移的一部分,我确实添加了play-json-joda依赖项.
但是,这样的事情:
case class GeoArea(id: Option[Int] = None,
continentId: Option[Int] = None,
countryId: Option[Int] = None,
code: String,
name: String,
discr: Discriminator.Value,
createdAt: DateTime = DateTime.now,
updatedAt: DateTime = DateTime.now,
deletedAt: Option[DateTime] = None,
createdBy: Option[String] = None,
updatedBy: Option[String] = None)
Run Code Online (Sandbox Code Playgroud)
格式对象定义为:
implicit lazy val geoAreaFormat: Format[GeoArea] = Json.format[GeoArea]
Run Code Online (Sandbox Code Playgroud)
我收到一个错误:
没有play.api.libs.json.Format的实例可用于隐式作用域中的org.joda.time.DateTime,org.joda.time.DateTime,scala.Option [org.joda.time.DateTime](提示:如果在同一个文件中声明,请确保它在之前声明)[error]
隐式lazy val geoAreaFormat:格式[GeoArea] = Json.format [GeoArea]
我错过了什么?我还需要在范围内解决这个问题吗?
我的导入如下:
import driver.PGDriver.api._
import org.joda.time.DateTime
import play.api.libs.json._
import slick.lifted.Tag
import model.GeoAreas.Discriminator
import converters.{JsonEnumeration, SlickEnumeration}
Run Code Online (Sandbox Code Playgroud)
并且它们在迁移过程中没有发生变化,但这些变化足以让一切顺利进行.
在你的build.sbt中添加:
libraryDependencies += "com.typesafe.play" % "play-json-joda_2.12" % "2.6.0"
Run Code Online (Sandbox Code Playgroud)
然后在你的模型文件中导入:
import play.api.libs.json.JodaWrites._
import play.api.libs.json.JodaReads._
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2551 次 |
| 最近记录: |