我想抓住所有未知的GET操作。
我的路线文件如下所示:
GET / controllers.MainController.index()
#All other routes
#finally
GET /[^/]+/ controllers.MainController.fault()
最终的GET定义位于列表的底部,因为上述get操作具有优先级,否则所有请求都将为/ [^ /] + / condition。
问题是它会进入默认捕获页面,说“未找到操作”
我如何捕捉所有路线?
答案 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