scala通过选项

时间:2017-07-03 09:41:39

标签: scala playframework slick

我有

case class ProcessSteps(stepsData: Seq[ProcessStepTemplatesModel])

此Seqence可能具有空的ProcessStepTemplatesModel

现在我想要像这样坚持数组:

request.body.asJson.foreach(f = _.validate[ProcessSteps] match {
      case JsSuccess(processSteps, _) =>
        // PROBLEM HIER
        processSteps.stepsData.foreach(processStep => processTemplateDTO.addProcessStepTemplateToProcessTemplate(processStep, processId).map {

由于空值,我收到了错误。

有没有办法删除空值,只有persis那些非空的?

我正在使用光滑的数据库映射器运行scala Playframework应用程序

由于

1 个答案:

答案 0 :(得分:2)

我建议你将ProcessStepTemplatesModel包裹在Option中,以表明可能有null个值: case class ProcessSteps(stepsData: Seq[Option[ProcessStepTemplatesModel]]), 然后filter(_.isDefined)您的序列只有现有(不可为空)的步骤,并安全地执行其余的代码。