Akka-Http更新通过转换为json对象收到json

时间:2017-05-19 12:26:23

标签: json scala rest akka-http

我正在尝试通过解组收到Json来完成POST请求,现在我想在将其下载到scala方法之前更新json

val route = (path("createDataSets") & post) {
    entity(as[DataSetEntity]) { dataSetEntity: DataSetEntity =>
      complete(createDataSet(dataSetEntity).map(_.asJson))
    }

case class DataSetEntity(id:Option[Long],createDate:Option[String],name:String)

我从JSON收到的是 id和 createDate 我需要在将其传递给方法createDataSet之前使用当前系统日期更新它。 我怎样才能做到这一点?

1 个答案:

答案 0 :(得分:2)

scala中的每个案例类都有方法复制,可以使用method的命名参数调用它,所以总结一下:

val route = (path("createDataSets") & post & entity(as[DataSetEntity])) { dataSetEntity: DataSetEntity =>
  val updatedEntity = dataSetEntity.copy(createDate = Some(java.time.LocalDate.now.toString))
  complete(createDataSet(updatedEntity).map(_.asJson))
}