2016-07-14 6 views
0

Ich habe das folgende Stück Code in Scala mit Akka HTTP mit Spray Routingkann nicht verstehen, Routing in Akka HTTP

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

val geoip = 
path(RemainingPath) {remaining => 

    val response = . . . 

    complete(response) 
} 

Aber das bekomme ich die Fehlermeldung

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

Wo genau ist der Parameter Typ sollte gehen?

Die Dokumentation dazu ist SEHR dürftig, und gemäß den Beispielen sollte dieser Code funktionieren.

+1

'Pfad (RemainingPath) {verbleibende: MyTypeHere =>' ' –

+0

Pfad (RemainingPath) {verbleibende: String =>' war mein erster Versuch, aber das funktioniert auch nicht. –

+0

Wie ist der Pfad definiert? –

Antwort

1

Problem gelöst. Ich hatte zu viele Importe mit Wildcards. Als ich die Wildcards reduzierte, ging das Problem weg. Dieser Satz von Importen scheint zu funktionieren.

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._ 
Verwandte Themen