如何解决从 Spray(或 Akka-Http)提供 html 时缺少静态内容的问题?我的服务的基本 url 是 /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
我应该如何重写我的路线以涵盖这两种情况?
最佳答案
我最终添加了重定向。如果有人知道更优雅的解决方案,请发布。
pathPrefix("swagger") {
CachingDirectives.cachingProhibited {
pathEnd {
redirect("/api/swagger/", StatusCodes.TemporaryRedirect)
} ~
pathSingleSlash {
getFromResource("swagger-ui/index.html")
} ~
getFromResourceDirectory("swagger-ui")
}
}
关于scala - 加载的 html 从父目录请求静态内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28045993/