ich habe die folgende Funktion:scala playframework Rückkehr Ok in flatMap
def createProcessTemplate: Action[AnyContent] = Action.async { implicit request =>
println(request.body.asJson)
request.body.asJson.map(_.validate[ProcessTemplatesModel] match {
case JsSuccess(process, _) =>
processTemplateDTO.createProcessTemplate(process).map {
process => {
// Create process steps templates
createNewProcessStepTemplate(request, process.id.get)
// Create prerequisites
createProcessTemplatePrerequisite(request, process.id.get)
// Create postConditions
createProcessTemplatePostCondition(request, process.id.get)
processTemplateDTO.getProcessStepTemplates(process.id.get).flatMap(
steps => Ok(Json.obj("id" -> process.id, "title" -> process.title, "steps" -> steps)))
}
}
case JsError(_) =>
Future.successful(BadRequest("Process Template not create client"))
case _ => Future.successful(BadRequest("Process Template create client"))
}).getOrElse(Future.successful(BadRequest("Process Template create client")))
}
Ich möchte die Schritte in der Ok-Anweisung zurück, aber habe diesen Fehler:
was könnte das Problem in diesem Fall?
dank
'' flatMap'' erwartet ein '' Future [T] '' aber du gibst nur ein '' OK'' zurück. Versuchen Sie, es in '' Future.successful'' – alifirat
wie folgt einzubinden: 'processTemplateDTO.getProcessStepTemplates (process.id.get) .flatMap ( Schritte => Future.successful (Ok (Json.obj (" id "-> process.id, "title" -> process.title, "steps" -> steps)))) – Felix
hat den gleichen Fehler – Felix