找不到参数um:akka.http.scaladsl.unmarshalling.FromRequestUnmarshaller[class]的隐式值

找不到参数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

我是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 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中提供

希望能有帮助