Playframework 如何不对路由参数进行URL编码?
我在Java中使用Play 2.4,我有以下路线: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 我希
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)