Loaded html 从父目录请求静态内容
Loaded html requests static content from parent directory
如何解决从 Spray(或 Akka-Http)服务 html 时缺少静态内容的问题?我服务的基础 url 是 /api
(尽管在这种情况下它应该是无关紧要的)。
这是我的路线
get {
pathPrefix("swagger") {
pathEndOrSingleSlash {
getFromResource("swagger-ui/index.html")
} ~
getFromResourceDirectory("swagger-ui")
}
}
Loaded html 打开后可以找到css和js文件
/api/swagger/
但是当我打开
/api/swagger
(没有尾部斜杠)
已加载html 尝试从
获取内容
/api/css/reset.css
而不是 /api/swagger/css/reset.css
我应该如何重写我的路线以涵盖这两种情况?
我最终添加了重定向。如果有人知道更优雅的解决方案,请post。
pathPrefix("swagger") {
CachingDirectives.cachingProhibited {
pathEnd {
redirect("/api/swagger/", StatusCodes.TemporaryRedirect)
} ~
pathSingleSlash {
getFromResource("swagger-ui/index.html")
} ~
getFromResourceDirectory("swagger-ui")
}
}
改用 redirectToTrailingSlashIfMissing
指令。
如何解决从 Spray(或 Akka-Http)服务 html 时缺少静态内容的问题?我服务的基础 url 是 /api
(尽管在这种情况下它应该是无关紧要的)。
这是我的路线
get {
pathPrefix("swagger") {
pathEndOrSingleSlash {
getFromResource("swagger-ui/index.html")
} ~
getFromResourceDirectory("swagger-ui")
}
}
Loaded html 打开后可以找到css和js文件
/api/swagger/
但是当我打开
/api/swagger
(没有尾部斜杠)
已加载html 尝试从
获取内容/api/css/reset.css
而不是 /api/swagger/css/reset.css
我应该如何重写我的路线以涵盖这两种情况?
我最终添加了重定向。如果有人知道更优雅的解决方案,请post。
pathPrefix("swagger") {
CachingDirectives.cachingProhibited {
pathEnd {
redirect("/api/swagger/", StatusCodes.TemporaryRedirect)
} ~
pathSingleSlash {
getFromResource("swagger-ui/index.html")
} ~
getFromResourceDirectory("swagger-ui")
}
}
改用 redirectToTrailingSlashIfMissing
指令。