Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/323.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Play Framework 2.2.1-不区分大小写的路由_Java_Playframework_Routing_Playframework 2.2 - Fatal编程技术网

Java Play Framework 2.2.1-不区分大小写的路由

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或拼写完全相同单词的任何其他大写/小写字母组合,则不会

我是该剧的新手,目前正在进行剧本2.2.1

我正在尝试为“路由”中定义的端点实现不区分大小写的路由

e、 g.我在routes文件中定义了一个route,比如说/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( "/" ) ) )
}
编辑请参见此处: