【问题标题】:playframework scala wrong return typeplayframework scala错误的返回类型
【发布时间】:2017-10-02 23:26:32
【问题描述】:

我有以下功能:

def updateProcessStepTemplate(request: Request[AnyContent]) = Option[Seq[ProcessStepTemplatesModel]] {
    println(request.body.asJson)
    request.body.asJson.map(_.validate[ProcessSteps] match {
      case JsSuccess(processStepTemplates, _) =>

        println("VALIDE SUCCESS -------------------------------")

        println("Valid")

        processStepTemplates.stepsData.map(step => {
          processTemplateDTO.updateProcessStepTemplate(step)
        })

        val test: Seq[ProcessStepTemplatesModel] = processStepTemplates.stepsData
        test
    })
  }

我收到了这个错误信息:

found   : Option[Seq[models.ProcessStepTemplatesModel]]
required: Seq[models.ProcessStepTemplatesModel]

我的失败是什么?谢谢

【问题讨论】:

  • 我怀疑您需要使用 getOrElse 之类的 -> processStepTemplates.stepsData.getOrElse(None) 并将 updateProcessStepTemplate 的定义更改为不使用 Option[。无论如何,从底部开始的 2 行都有问题

标签: scala playframework


【解决方案1】:

您正在返回类型为 Seq[ProcessStepTemplatesModel] 的测试字段。如果您想将其作为选项返回,则需要将testSome() 包装起来。

所以最后一行应该如下:

Some(test)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-03-30
    • 2012-12-21
    • 1970-01-01
    • 1970-01-01
    • 2021-04-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多