beego 是一个用于Go编程语言的开源、高性能的 web 框架
beego 被用于在Go语言中企业应用程序的快速开发,包括RESTful API、web应用程序和后端服务。它的灵感来源于Tornado, Sinatra 和 Flask
beego 官网:http://beego.gocn.vip/
上面的 beego 官网如果访问不到,看这篇文章《beego 官网文档本地环境搭建》
注意:本文的 beego 文档使用的就是本地环境搭建的文档,因为官网文档已经不可用了
beego 官方 github 仓库:https://github.com/beego/beego
上一讲,讲了 beego 的 web模块中的路由部分,需要的朋友可以查看《Beego 使用教程 3:Web 模块之路由》
这一讲,主要讲解 beego 的 过滤器
笔者使用上一讲的代码
目录
1、基本使用
在项目根目录下新建 filter目录,在 filter目录下新建 filter.go
在 filter目录下 filter.go 中添加下面代码
package filter
import (
"fmt"
"github.com/beego/beego/v2/server/web"
"github.com/beego/beego/v2/server/web/context"
)
func RegisterFilters() {
web.InsertFilter("/*", web.BeforeExec, func(ctx *context.Context) {
fmt.Println("过滤器: " + ctx.Request.RequestURI)
fmt.Println("过滤: " + ctx.Input.URL())
})
}
/* 过滤所有请求。过滤器类型除了BeforeExec 外,还有BeforeStatic、BeforeRouter、BeforeExec、AfterExec、FinishRouter
main.go 中代码如下
package main
import (
"beego-demo/controller"
"beego-demo/filter"
"fmt"
"github.com/beego/beego/v2/core/config"
"github.com/beego/beego/v2/server/web"
)
func main() {
//通过config获取自定义配置
workername, _ := co