在Scala中找不到值〜

时间:2017-08-23 15:52:46

标签: scala akka akka-http

我正在定义一些路径,但后来我遇到了这个错误,因为在#34之前的代字号〜 pathPrefix(开始)" 。我在Scala有点新,所以不要马上点击。感谢

 not found:value ~ 

是因为我需要定义一个函数吗?如果是这样的话?

import   
  akka.http.scaladsl.marshallers.xml.ScalaXmlSupport.defaultNodeSeqMarshaller
    import akka.http.scaladsl.server.{ HttpApp, Route }
    import akka.http.scaladsl.model.StatusCodes
    import akka.actor.ActorSystem
    import akka.stream.ActorMaterializer
    import com.typesafe.config.ConfigFactory
    import akka.event.Logging
    import akka.http.scaladsl.model._


    object ABC extends HttpApp with App {

          implicit val actorSystem = ActorSystem()
          implicit val matter = ActorMaterializer()                                                               
          val start = "hello"

        val Routing= {

            path(start) {
              redirect( Uri(start+ "/index.html"), StatusCodes.PermanentRedirect )
              } 
              ~
              pathPrefix(start) {         
                 content  

                }
            } 

val content = 
{ 
 get 
   {
    path("html") {
                 getFromResource("src/html") }
  }
}

}

2 个答案:

答案 0 :(得分:4)

确保您拥有以下导入:

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

答案 1 :(得分:2)

根据@chunjef答案添加导入后,请注意validate_emailinfix operator,因此它附带了所有" quirks"它的。 要整理您的路线,您可以避免将~放在新行

~

或者你可以用括号

包装连接的路线
    val Routing= {

        path(start) {
          redirect( Uri(start+ "/index.html"), StatusCodes.PermanentRedirect )
          } ~
          pathPrefix(start) {         
             content  

            }
        }