在faygo中,操作与中间件使用同一个接口实现,因此实际上每次请求调用的是一条有序、步阶可控的操作链。
操作链在每次请求中匹配到路由后被调用执行。
操作与中间件的接口定义:
Handler interface {
Serve(ctx *Context) error
}
通常我们使用function或struct来实现操作或中间件。
从业务层面区分操作与中间件:
每个URL对应的操作链[]Handler中,我们将返回响应结果的那个Handler称作操作,而其余位于操作前后的所有Handler都被称之为中间件。