加载的html从父目录请求静态内容

时间:2015-01-20 12:59:13

标签: scala spray akka-http

如何在从Spray(或Akka-Http)提供html时解决缺少静态内容的问题?我的服务的基本网址是/api(即使在这种情况下它应该是无关紧要的)。

这是我的路线

get {
  pathPrefix("swagger") {
    pathEndOrSingleSlash {
      getFromResource("swagger-ui/index.html")
    } ~
      getFromResourceDirectory("swagger-ui")
  }
}

当我打开它时,加载的html可以找到css和js文件

/api/swagger/

但是当我打开

/api/swagger(不带斜线)

加载的html尝试从

获取内容

/api/css/reset.css代替/api/swagger/css/reset.css

我应该如何重写我的路线以涵盖这两种情况?

2 个答案:

答案 0 :(得分:2)

我最后添加了重定向。如果有人知道更优雅的解决方案,请发布。

pathPrefix("swagger") {
  CachingDirectives.cachingProhibited {
    pathEnd {
      redirect("/api/swagger/", StatusCodes.TemporaryRedirect)
    } ~
      pathSingleSlash {
        getFromResource("swagger-ui/index.html")
      } ~
      getFromResourceDirectory("swagger-ui")
  }
}

答案 1 :(得分:2)