将URI作为参数

时间:2016-04-04 02:30:05

标签: playframework

我正在考虑将游戏用于我正在设计的应用程序。但我有一个有趣的问题。

该网站有点像CDN。想想readthedocs.org-ish。只有我的远比readthedocs更通用。

我试图克服的问题是将uri作为参数传递。所以,如果我给网址

mysite.com/viewer/group2/app1/1.0.0/static/bla/bla/foo.jpg

viewer是控制器。 group2app11.0.0是简单的路径参数,但最后一个参数是static/bla/bla/foo.jpg

我如何在播放路由中这样做?

我认为另一种选择

mysite.com/viewer/group2/app1/1.0.0?static/bla/bla/foo.jpg

但我担心这会干扰现有的HTML。这个应用程序被设计为javadoc,scaladoc,sphinxdoc,doxygen等的公司存储库。我们的CI服务器将处理编译文档,压缩它们并将它们提交给其他服务。然后,其余服务将解压缩它们,并且很可能将各个文件推送到S3。但我需要这个查看器控制器将现有HTML中的URL映射到S3网址和页面上的iframe内部,查看html并正常使用html函数(没有我解析所有内容并替换网址,但与此同时,如果我没有深层链接功能,这个网站相当有限。

1 个答案:

答案 0 :(得分:1)

如果您希望动态部件捕获多个URI路径段(由正斜杠分隔),则可以使用*id语法定义动态部件,该语法使用.+正则表达式:< / p>

GET /files/*name controllers.Application.download(name)

此处针对GET /files/images/logo.png之类的请求,名称动态部分将捕获images/logo.png值。