如何將已有的http.Handlers整合到Revel中?
在概念圖中, http.Handler 用于處理用戶的請(qǐng)求。Revel的處理是非常簡(jiǎn)單的,它只是創(chuàng)建控制器實(shí)例,并將請(qǐng)求傳遞給過(guò)濾器鏈。
應(yīng)用程序可以通過(guò)重寫默認(rèn)的處理程序整合現(xiàn)有http.Handlers:
func installHandlers() {
var (
serveMux = http.NewServeMux()
revelHandler = revel.Server.Handler
)
serveMux.Handle("/", revelHandler)
serveMux.Handle("/path", myHandler)
revel.Server.Handler = serveMux
}
func init() {
revel.OnAppStart(installHandlers)
}
攔截器、過(guò)濾器和模塊之間是什么關(guān)系?
模塊是可以插入到程序中的包。他們可以在多個(gè)Revel程序(或第三方源)中共享控制器、視圖、資源和其他代碼。
過(guò)濾器是可掛接到請(qǐng)求處理管道的函數(shù)。他們一般作為一個(gè)整體處理技術(shù)在應(yīng)用程序中使用,來(lái)垂直分隔應(yīng)用程序邏輯。
更多建議: