Java Play Framework 2.2.1-不区分大小写的路由
我是该剧的新手,目前正在进行剧本2.2.1 我正在尝试为“路由”中定义的端点实现不区分大小写的路由 e、 g.我在routes文件中定义了一个route,比如说/accessLicense,如下所示Java Play Framework 2.2.1-不区分大小写的路由,java,playframework,routing,playframework-2.2,Java,Playframework,Routing,Playframework 2.2,我是该剧的新手,目前正在进行剧本2.2.1 我正在尝试为“路由”中定义的端点实现不区分大小写的路由 e、 g.我在routes文件中定义了一个route,比如说/accessLicense,如下所示 GET/accessLicense controller.MyController.accessLicense() 现在,如果我开火/进入许可证,效果会很好;正如所料,但如果尝试使用fir/AccessLicense、/AccessLicense或拼写完全相同单词的任何其他大写/小写字母组合,则不会
GET/accessLicense controller.MyController.accessLicense()
现在,如果我开火/进入许可证,效果会很好;正如所料,但如果尝试使用fir/AccessLicense、/AccessLicense或拼写完全相同单词的任何其他大写/小写字母组合,则不会起作用
提前感谢您的指导和支持 不幸的是,好吧,没有办法神奇地打开一个开关,它可以做你想做的事。谢天谢地,有一个解决办法,但这是最好的办法 获取/[aA][cC][cC][eE][sS][sS] 编辑:我做了以下操作,这符合我的具体要求,即只在URL的第一部分使用小写。因此GET/AbCdE/XyZ将变成GET/AbCdE/XyZ,如果这在路由中有一个操作,那么它将得到适当的处理
override def onRouteRequest( request: RequestHeader ) = {
val path = request.path
val split = path.split( "/" ).toList
val lowerCasePath = split match{
case ""::Nil => ""::Nil
case ""::x::y => ""::x.toLowerCase::y
}
logger.error( lowerCasePath.toString )
super.onRouteRequest( request.copy( path = lowerCasePath.mkString( "/" ) ) )
}
编辑请参见此处: