0
JSON i/pをケースクラスCacheRequestにマップしようとしています。
リクエストはPOSTです。
私はScalaとAkkaを初めて使用しています。
json4sを使用してPOSTリクエストでJSONデータを処理する
import org.json4s.{DefaultFormats, Formats}
implicit val formats: Formats = DefaultFormats
val route: Route = traceContextAwareRoute {
pathPrefix(system.name) {
post {
path("sample") {
entity(as[CacheRequest]) { x => {
val cacheRequest: CacheRequest = CacheRequest(x.a, x.b, x.c, x.d, x.e, x.f)
onComplete(getSystemStock(cacheRequest)) {
(response: Try[Option[CacheResponse]]) => complete(processResponse(response))
}
}
}
}
}
}
私の場合クラスは、このようなものです。
case class CacheRequest(a: String,
b: String,
c: Int,
d: Int,
e: Int,
f: Int)
could not find implicit value for parameter um: akka.http.scaladsl.unmarshalling.FromRequestUnmarshaller[mcc.movie.common.model.CacheRequest]
not enough arguments for method as: (implicit um: akka.http.scaladsl.unmarshalling.FromRequestUnmarshaller[mcc.movie.common.model.CacheRequest])akka.http.scaladsl.unmarshalling.FromRequestUnmarshaller[mcc.movie.common.model.CacheRequest]
I'supposedのようなエラーを取得するには、json4sを使ってこれを実行します。
これに関するお手伝いは私にとっては大丈夫です。
のようなものを追加します。しかし、インポート中に> de.heikoseeberger.akkahttpjson4s.Json4sSupportをインポートすると、 "akkahttpjson4sを解決できません"というメッセージが表示されます。 –
これを加える: "de.heikoseeberger" %% "akka-http-json4s"% "1.12.0"、 –
うん、それは働いた。ありがとうございました。 –