关于golang martini
那么,如何处理这些处理程序的呈现方式?我无法解决马丁尼的文件。
答案 0 :(得分:1)
正如你所说,Martini和其他中间件按照它们被定义的顺序被调用:首先是添加使用的,然后是路由中间件,然后是路由处理程序。
以下是马提尼文档给出的中间件示例:
// log before and after a request
m.Use(func(c martini.Context, log *log.Logger){
log.Println("before a request")
c.Next()
log.Println("after a request")
})
根据这个,如果你有中间件A和B以及路由R,那么调用链将是这样的:
func A() {
// Do things before B
func B() {
// Do things before R
func R() {
// Do things in R
} ()
// Do things after R
}()
// Do things after B
}
因此,根据您的需要,您需要在Next()
调用之前或之后在中间件中添加代码。