【发布时间】:2017-03-18 06:03:58
【问题描述】:
假设我有一个文件夹 foo,其中有一个 index.html 文件,下面是 Akka HTTP 的以下最小(但很可能不起作用)服务器代码:
object Server extends App {
val route: Route =
pathPrefix("foo") {
getFromDirectory("foo")
}
Http().bindAndHandle(route, "0.0.0.0", 8080)
}
如果我在浏览器中打开http://localhost:8080/foo/index.html,index.html 将正确提供,但如果我打开http://localhost:8080/foo 或http://localhost:8080/foo/,则不会。
如果可能的话,我如何设置我的 Akka HTTP 路由以默认在该位置提供 index.html 文件?
我知道我可以做到以下几点:
val route: Route =
path("foo") {
getFromFile("foo/index.html")
} ~
pathPrefix("foo") {
getFromDirectory("foo")
}
但是:
- 这只会使
http://localhost:8080/foo工作,而不是http://localhost:8080/foo/ - 这是非常临时的,不适用于全局:如果我有一个
foo/bar/index.html文件,问题将是相同的。
【问题讨论】: