scala - 喷雾 json 错误 : could not find implicit value for parameter um

标签 scala akka implicit-conversion spray

我有这个案例课

case class Person(val name: String)

object JsonImplicits extends DefaultJsonProtocol {
  implicit val impPerson = jsonFormat1(Person)
}

我正在尝试喷雾 json 以解析发布请求:
  post {
    entity(as[Person]) { person =>
      complete(person)
    }
  }

但是当我尝试编译它时我得到了:

src/main/scala/com/example/ServiceActor.scala:61: error: could not find implicit value for parameter um: spray.httpx.unmarshalling.FromRequestUnmarshaller[com.example.Person]



我不明白发生了什么,我该如何解决这个问题?

谢谢

最佳答案

Spray 的 'entity[E]' 指令要求在其范围内为类型 E 使用隐式编码器。JsonImplicits object 为类型 E 创建 json marshaller 和 unmarshaller。

您需要确保 implicit val impPerson是在范围内,换句话说就是把 import JsonImplicits._在路由定义之上。

关于scala - 喷雾 json 错误 : could not find implicit value for parameter um,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20932234/

相关文章:

mongodb - 通过嵌套字段查询 ReactiveMongo

Java 'reduceLeft' 签名/下界类型参数

java - Play 2.2 框架中打开的文件(套接字)过多

scala - 如何仅向特定类型的列表添加额外的行为?

scala - 在 Scala 中为解析器组合器 II 创建测试

scala - 如何解决 sbt 中的依赖问题

java - akka java tcp 聊天室

Akka 持久性 : deleting "old" messages in journal

c# - 使用泛型类时如何修复 CA2225 (OperatorOverloadsHaveNamedAlternates)

c++ - 隐式转换为指针