2016-07-14 12 views
0

У меня есть следующий фрагмент кода в Scala, используя Akka HTTP с Spray маршрутизацииНе могу понять маршрутизации в Акко 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 

Где именно параметр тип должен идти?

Документация по этому вопросу очень скудная, и в соответствии с примерами этот код должен работать.

+1

'путь (RemainingPath) {Осталось: MyTypeHere =>' ' –

+0

путь (RemainingPath) {Осталось: String => 'была моя первая попытка, но это не работает. –

+0

Как определяется путь? –

ответ

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