Playframework 如何不对路由参数进行URL编码?

Playframework 如何不对路由参数进行URL编码?,playframework,routes,playframework-2.0,Playframework,Routes,Playframework 2.0,我在Java中使用Play 2.4,我有以下路线: GET /page/:slug controllers.Application.page(slug: String) 因此,例如,如果slug=this-is-a-slug,则没有问题,路径如下所示: /page/this-is-a-slug 但是,如果slug=slug的第一部分/slug的第二部分,则URL栏会显示: /page/first-part-of-the-slug%2Fsecond-part-of-the-slug 我希

我在Java中使用Play 2.4,我有以下路线:

GET /page/:slug controllers.Application.page(slug: String)

因此,例如,如果
slug=this-is-a-slug
,则没有问题,路径如下所示:

/page/this-is-a-slug

但是,如果
slug=slug的第一部分/slug的第二部分
,则URL栏会显示:

/page/first-part-of-the-slug%2Fsecond-part-of-the-slug
我希望避免对slug进行编码,因为知道slug“parts”的数量是未定义的,并将slug作为唯一的参数

我怎么能这么做?感谢您的帮助。

您需要使用“*”如:

查找文档中的“跨越多个/”部分

如果希望动态部件捕获多个URI路径段, 由正斜杠分隔,可以使用 *id语法,它使用.*正则表达式:

GET   /files/*name       controllers.Application.download(name)
这里,对于像
GET/files/images/logo.png
这样的请求,
name
动态 零件将捕获
图像/logo.png

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