我正在尝试通过解组收到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之前使用当前系统日期更新它。 我怎样才能做到这一点?
答案 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))
}