Я пытаюсь развязать запрос полезной нагрузкой как строку, но по какой-то причине она терпит неудачу. Мой код:
path("mypath") {
post {
decodeRequest {
entity(as[String]) {jsonStr => //could not find implicit value for...FromRequestUnmarshaller[String]
complete {
val json: JsObject = Json.parse(jsonStr).as[JsObject]
val jsObjectFuture: Future[JsObject] = MyDatabase.addListItem(json)
jsObjectFuture.map(_.as[String])
}
}
}
}
}
В этом SO-потоке, например, кажется, что это неявное должно быть доступно по умолчанию. Но может быть, это отличается от akka-http?
Я попытался импортировать akka.http.scaladsl.unmarshalling.PredefinedFromEntityUnmarshallers
, у которого есть stringUnmarshaller
, но это не помогает. Возможно, потому что это возвращает тип FromEntityUnmarshaller[String]
not FromRequestUnmarshaller[String]
. Там также строка unmarshaller в spray.httpx.unmarshalling.BasicUnmarshallers
, но это также не помогает, ни akka.http.scaladsl.unmarshalling.PredefinedFromStringUnmarshallers
Как я могу отменить (и маршалл) в строку?
(Бонус: как размонтировать непосредственно в JsObject (play json). Но также только строка, поскольку меня интересует, почему это не работает, и может быть полезно для других случаев).
Использование 1.0-RC3
Спасибо.