リクエスト ペイロードを文字列として非整列化しようとしていますが、何らかの理由で失敗しています。私のコード:
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
が、役に立ちません。たぶん、これは type FromEntityUnmarshaller[String]
not を返すためFromRequestUnmarshaller[String]
です。文字列アンマーシャラーもありますspray.httpx.unmarshalling.BasicUnmarshallers
が、これも役に立ちません。akka.http.scaladsl.unmarshalling.PredefinedFromStringUnmarshallers
文字列にアンマーシャリング (およびマーシャリング) するにはどうすればよいですか?
(ボーナス: JsObject で直接アンマーシャリングする方法 (json を再生)。ただし、これが機能しない理由に興味があり、他の場合に役立つ可能性があるため、文字列のみ)。
1.0-RC3 の使用
ありがとう。