0
我試圖將JSON i/p映射到我的案例類CacheRequest。
請求是POST。
我是新來的斯卡拉和阿卡。
使用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」 %% 「阿卡-HTTP-瑟茜」 % 「1.12.0」 。但是,當導入 - >導入de.heikoseeberger.akkahttpjson4s.Json4sSupport時,我得到「無法解析akkahttpjson4s」。 –
添加此:「de.heikoseeberger」%%「akka-http-json4s」%「1.12.0」, –
是的,它的工作。謝謝。 –