玩框架路线

时间:2014-01-31 14:19:48

标签: java scala playframework

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

我的路线文件如下所示:

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

#finally
GET     /[^/]+/                 controllers.MainController.fault()

最终的GET定义位于列表的底部,因为上述get操作具有优先级,否则所有请求都将为/ [^ /] + / condition。

问题是它会进入默认捕获页面,说“未找到操作”

我如何捕捉所有路线?

1 个答案:

答案 0 :(得分:2)

我相信

GET  /*route controllers.MainController.fault()

会更好。 route将捕获已收到的路径,您可以将其作为参数传递给fault方法。

但是,我建议另一种方法:你可以实现覆盖方法的GlobalSettings对象

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

每次收到无法找到合适处理程序的请求时,都会调用此方法。您可以在此处找到更多信息:http://www.playframework.com/documentation/2.2.x/ScalaGlobal