Я хочу знать, есть ли у Beego какие-нибудь хуки, которые я могу использовать для каждого запроса в приложении, чтобы добавить какую-то функциональность. Например, BeforeControllerLoads или AfterInitRequestLoads. Подобных крючков я не обнаружил. Крючки ORM не подходят. Спасибо
Крючки для цикла запросов Beego
Ответы (1)
В контроллере есть как Prepare
, так и Finish
:
// Prepare runs after Init before request function execution.
func (c *Controller) Prepare() {}
// Finish runs after request function execution.
func (c *Controller) Finish() {}
Также через фильтры вы можете вставить любой хук:
beego.InsertFilter("/user/:id([0-9]+)", beego.BeforeRouter, FilterUser)
У вас разные точки исполнения:
// default filter execution points
const (
BeforeStatic = iota
BeforeRouter
BeforeExec
AfterExec
FinishRouter
)
https://github.com/astaxie/beego/blob/develop/controller.go https://github.com/astaxie/beego/blob/develop/router.go
person
Mario Pérez
schedule
25.05.2019