I am new to akka infrastructure and am now trying to set up a simple web service with this infrastructure.
write a simple akka-http application:
import akka.actor.ActorSystem import akka.http.scaladsl.Http import akka.http.scaladsl.server.Directives._ import akka.stream.ActorMaterializer import scala.io.StdIn object MainRunner extends App { implicit val system = ActorSystem("mySystem") implicit val materializer = ActorMaterializer implicit val ec = system.dispatcher val route = path("hello") { get { complete("Congratulation , this is your response") } } val bindingFuture = Http().bindAndHandle(route, "localhost", 8080) println(s"Server online at http://localhost:8080/\nPress RETURN to stop...") StdIn.readLine() // let it run until user presses return bindingFuture .flatMap(_.unbind()) // trigger unbinding from the port .onComplete(_ => system.terminate()) // and shutdown when done }
get this error while compiling:
Error:(34, 44) type mismatch; found : akka.http.scaladsl.server.Route (which expands to) akka.http.scaladsl.server.RequestContext => scala.concurrent.Future[akka.http.scaladsl.server.RouteResult] required: akka.stream.scaladsl.Flow[akka.http.scaladsl.model.HttpRequest,akka.http.scaladsl.model.HttpResponse,Any] val bindingFuture = Http().bindAndHandle(route, "localhost", 8080)
How to fix it?
source share