在Akka Http

时间:2017-12-10 09:29:32

标签: akka-http spray-json

我在Akka Http(Scala)项目中有路由基本相同(CRUD操作),除了它们在其上运行的实体

我在JsonSupport特征中定义了我的Json格式:

trait JsonSupport extends SprayJsonSupport {
  import DefaultJsonProtocol._

  implicit val userJsonFormat  = jsonFormat3(User)
}

然后我定义了一个扩展这个特性的路由,所以如果我使用一个具体类型它可以正常工作,但是只要我有一个泛型类型它就无法编译:

def userRoute[T]: Route = 
  pathPrefix("users") {
    post {
      entity(as[T]) { user =>

有错误:

could not find implicit value for parameter um: akka.http.scaladsl.unmarshalling.FromRequestUnmarshaller[T]

我怀疑它无法找到隐含值,因为类型太宽泛。 我应该给T什么类型的约束,以便它能够解决它? 有办法解决吗?

干杯, 莱昂蒂

0 个答案:

没有答案