Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/321.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 播放框架路线_Java_Scala_Playframework - Fatal编程技术网

Java 播放框架路线

Java 播放框架路线,java,scala,playframework,Java,Scala,Playframework,我想抓住所有未知的GET操作 我的路由文件如下所示: GET / controllers.MainController.index() #All other routes #finally GET /[^/]+/ controllers.MainController.fault() 最终的GET定义位于列表底部,因为上面的GET操作具有优先级,否则所有请求都将符合/[^/]+/条件 问题是它会转到默认

我想抓住所有未知的GET操作

我的路由文件如下所示:

GET     /                       controllers.MainController.index()
#All other routes

#finally
GET     /[^/]+/                 controllers.MainController.fault()
最终的GET定义位于列表底部,因为上面的GET操作具有优先级,否则所有请求都将符合/[^/]+/条件

问题是它会转到默认的catch页面,说“找不到操作”

我怎样才能赶上所有的路线呢?

我相信

GET  /*route controllers.MainController.fault()
这样会更好
route
将捕获接收到的路径,您可以将其作为参数传递给
fault
方法

但是,我建议另一种选择:可以实现一个
GlobalSettings
对象,在其中重写该方法

def onHandlerNotFound(request: RequestHeader): Future[SimpleResult]

每次收到无法找到适当处理程序的请求时,都会调用此方法。您可以在此处找到更多信息:

完美!那正是我想要的。GET/*route controllers.MainController.fault(route)public static Result fault(String url){return badRequest(url+“not found”);}现在,我还使用了自定义全局类。但是定义有点不同:override def onHandlerNotFound(请求:RequestHeader)={Future.successful(NotFound(views.html.errorpage(request.path))}