使用
InsertFilter过滤器一直报错
routers\router.go:24:52: cannot use FilterDemo (variable of type func(ctx *"cont
ext".Context)) as web.HandleFunc value in argument to beego.InsertFilter
原来InsertFilter方法的FilterFunc方法必须是func(*context.Context) 参数必须是context.Context
package routers
import (
"demo/controllers"
"github.com/beego/beego/v2/server/web/context"
beego "github.com/beego/beego/v2/server/web"
)
func init() {
beego.Router("/", &controllers.MainController{})
beego.Router("/hello", &controllers.MainController{}, "get:GetHello")
beego.Router("/demo/hello", &controllers.DemoController{}, "get:GetHello")
// 实现FilterDemo
var FilterDemo = func(ctx *context.Context) {
var (
title string
)
title = "禁止访问"
ctx.WriteString(title)
}
//添加过滤器
beego.InsertFilter("/demo/*", beego.BeforeRouter, FilterDemo)
}