2016-10-19 2 views
0

Ich möchte this JS-Code zu Scala übersetzen, unter Verwendung spray.io.Einen ganzen Verzeichnisbaum mit spray.io versorgen

Wie kann ich this Zeile unten zu Scala mit spray.io übersetzen?

app.use('/', express.static(path.join(__dirname, 'public')));

Mit anderen Worten, wie kann ich einen gesamten Verzeichnisbaum mit spray.io dienen?

+0

Spray hat sich für akka-http veraltet. – Reactormonk

Antwort

1

Wie oben erwähnt, ist Spray veraltet. Aber Richtlinien sind in akka-http ähnlich. Hier ist, was Sie wahrscheinlich benötigen (getFromResourceDirectory in Ihrem Fall)

pathPrefix("docs") { 
     get { 
     path("swagger.json") { 
      getFromResource("swagger.json", ContentTypes.`application/json`) 
     } ~ 
      (pathEnd | pathSingleSlash) { 
      redirect("docs/index.html", StatusCodes.TemporaryRedirect) 
      } ~ 
      getFromResourceDirectory("swagger-ui") 
     } 
    } 
+0

Danke, aber wird das rekursiv sein? Wird 'getFromResourceDirectory (" swagger-ui ")' den gesamten Verzeichnisbaum bedienen? Zum Beispiel "swagger-ui/1/2/3/4/crazy.html"? – jhegedus

+1

@jhegedus Soweit ich mich erinnere, wird es sein. – expert

0

Dies dient Dateien (rekursiv) aus dem Verzeichnis ./web/

package com.softwaremill.spray.server 

import akka.actor.ActorSystem 
import spray.routing.SimpleRoutingApp 

object Step1Complete extends App with SimpleRoutingApp { 
    implicit val actorSystem = ActorSystem() 

    startServer(interface = "localhost", port = 3300) { 
    get { 
     path("hello") { 
     complete { 
      "Welcome to Amber Gold!" 
     } 
     } 
    } ~ 
     pathPrefix("web") { 
     getFromDirectory("./web/") 
     } 
    } 

} 
Verwandte Themen