找不到参数um:akka.http.scaladsl.unmarshalling.FromRequestUnmarshaller[class]的隐式值
我是akka http新手,在整理和取消整理我的case类时遇到困难 这是我的密码找不到参数um:akka.http.scaladsl.unmarshalling.FromRequestUnmarshaller[class]的隐式值,akka,akka-http,Akka,Akka Http,我是akka http新手,在整理和取消整理我的case类时遇到困难 这是我的密码 case class Event(uuid:String) //main class class demo { val route: Route = post { path("create-event") { entity(as[Event]) { event => complete("event
case class Event(uuid:String)
//main class
class demo {
val route: Route =
post {
path("create-event") {
entity(as[Event]) { event =>
complete("event created")
}
}
}
}
}
这一行出现编译时错误
entity(as[Event]) { event =>
could not find implicit value for parameter um: akka.http.scaladsl.unmarshalling.FromRequestUnmarshaller[models.event.Event]
有一个简单的方法来解决这个问题。akka http jackson有一个请求解组器的实现 sbt添加库:
"de.heikoseeberger" %% "akka-http-jackson" % "1.27.0"
然后在你的代码里
import de.heikoseeberger.akkahttpjackson.JacksonSupport._
默认情况下,Akka Http使用spray封送和解封送json,错误是因为没有定义用于转换的隐式转换器
import spray.json.DefaultJsonProtocol
import akka.http.scaladsl.marshallers.sprayjson.SprayJsonSupport
import spray.json._
trait EventProtocol extends DefaultJsonProtocol {
implicit val eventJsonFormat = jsonFormat1(Event)
}
class demo extends SprayJsonSupport with EventProtocol {
// your code
}
详细步骤在akka http中提供
希望能有帮助