我想建立一个喷雾路线,以服务于目录下的网页内容。
例如,下面的URL应该解析为同一个文件。
http://mywebsite.com/path/to/thing
http://mywebsite.com/path/to/thing/
http://mywebsite.com/path/to/thing/index.html
应该从./web/path/to/thing/index.html的文件系统中提供index.html文件。
如果显式指定了"index.html“,但不指定”index.html“,则下列路由可以工作。
pathPrefix("") {
getFromDirectory("./web/")
}如何在喷雾路径中表示这一点?
发布于 2015-04-17 09:06:38
假设您已经与pathPrefix相匹配,我认为您需要pathEndOrSingleSlash,这里描述了。我不认为喷雾路由与隐式"index.html“匹配,但无论如何,如果需要,可以轻松地编写指令:
(pathEndOrSingleSlash | path("index.html")) { ... }更新:
好的,从您的评论中,我认为您只想选择指定的任何路径,并从该目录中提供文件。像这样的东西(未经测试)?
path(Segment) { rawPath =>
getFromFile("web/" + if (rawPath endsWith "/") rawPath + "index.html" else rawPath)
}https://stackoverflow.com/questions/29689357
复制相似问题