2017-08-23 5 views
0

いくつかのパスを定義していますが、 "pathPrefix(start)"の前にティルダ〜のこのエラーが表示されます。私は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") } 
    } 
} 

} 
+0

に連結されたルートをラップすることができますを配置しないようにすることができますか – mfirry

答えて

2

それの。 あなたのルートを整理するには、新しい行に~

val Routing= { 

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

      } 
     } 

か、あなたの `import`sは何ですか?カッコ

val Routing= { 

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

      }) 
     } 
3

次のインポートがあることを確認してください:あなたはまた~infix operatorであることに注意してください、それはすべての「癖」が付属し、@chunjef解答ごとにインポートを追加したら

import akka.http.scaladsl.server.Directives._ 
関連する問題