0

我在Scala中使用带有Spray Routing的Akka HTTP有以下代码

import akka.http.scaladsl.server.Directives._

val geoip =
path(RemainingPath) {remaining =>

  val response = . . .

  complete(response)
}

但是我收到错误消息

[ERROR] FreeGeoIp.scala:45: error: missing parameter type
[ERROR]     path(RemainingPath) {remaining =>
[ERROR]                          ^
[ERROR] one error found

参数类型到底应该去哪里?

这方面的文档非常差,根据示例,此代码应该可以工作。

4

1 回答 1

1

问题解决了。我有太多带有通配符的导入。当我减少通配符时,问题就消失了。这组导入似乎有效。

import akka.http.scaladsl.Http
import akka.http.scaladsl.model.HttpRequest
import akka.http.scaladsl.model.HttpResponse
import akka.http.scaladsl.model.Uri.apply
import akka.http.scaladsl.marshallers.sprayjson.SprayJsonSupport.sprayJsonUnmarshaller
import akka.http.scaladsl.marshalling.ToResponseMarshallable.apply
import akka.http.scaladsl.server.Directives._
import akka.http.scaladsl.unmarshalling.Unmarshal

import akka.stream.scaladsl._

import scala.concurrent.Future

import spray.json._
import spray.json.DefaultJsonProtocol._
于 2016-07-14T19:45:02.137 回答