【发布时间】:2019-05-23 05:06:06
【问题描述】:
我创建了应该将模型转换为 json 的简单特征:
trait Protocols extends SprayJsonSupport with DefaultJsonProtocol {
implicit val travelFormat = jsonFormat4(Travel)
}
我有一个Travel 模型,看起来像:
case class Travel(id: Option[Long] = None,
startDate: DateTime,
endDate: DateTime,
name: String,
description: String,
amount: BigDecimal)
但问题出在(我发现)DateTime 类中。在这段代码中,jsonFormat4 方法出现编译器错误:
Type mismatch, expected: (NotInferedP1, NotInferedP2, NotInferedP3, NotInferedP4) => NotInferedT, actual: (Option[Long], DateTime, DateTime, String, String, BigDecimal) => Travel
当我删除所有 DateTime 字段时,它运行良好。但就我而言,我需要这些字段。那我该怎么修呢?我试过给他们一个默认参数,但也没有用。
【问题讨论】:
-
可能和这个问题有关:github.com/spray/spray-json/issues/128。唯一的选择是定义自己的格式化程序
-
是的。可能这是一个解决方案。傻事。
标签: scala akka akka-http spray