[英]In Play, is there a way to apply filters before routing?
根據文檔,篩選器鏈發生在路由請求之后。 在路由請求之前 ,有什么方法可以應用過濾器鏈?
特別是,我們想在URL映射之前應用許多過濾器。 如果我們將它們作為常規過濾器使用,要么我們不能使用路由時發生的請求綁定,要么必須在操作中自己做。
是,
onRouteRequest(Http.RequestHeader request)
Called when an HTTP request has been received.
You need a class to extends GlobalSettings,
and then override the method onRouteRequest(Http.RequestHeader request)
從文檔中可以得出:“如果確實需要在調用路由器之前修改請求,那么更好的方法是將邏輯放在Global.onRouteRequest中。”
在Play的較新版本(例如2.6.x)中,在路由之前應用自定義邏輯的首選方法是實現自定義HttpRequestHandler (有關HttpRequestHandler
的Java版本,請參見此頁面 )。
在許多情況下,您可以擴展默認請求處理程序並覆蓋routeRequest
方法。
從過濾器文檔中 :
如果確實需要在調用路由器之前修改請求,則更好的方法是將邏輯放在
HttpRequestHandler
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.