Beego路由设置和MVC
文档对应视频课程中3.3章节,请小伙伴们对应学习。
路由设置
有两种方式:
- 在router.php中配置
beego.Router("/hello", &controllers.MainController{}, "get:GetHello")
- 在router.php中include引入,直接在函数上方配置规则
beego.Include(&controllers.DemoController{})
// @router /demo/hello [get] func (this *DemoController) GetHello() { var ( title string ) title = "Hello World!" this.Ctx.WriteString(title) }
MVC模式
在目录下有 controllers models views 文件夹分别存放controller文件,model文件和模板文件。后面项目中用到的文件都会分别在这三个文件夹中
过滤器和配置信息
过滤器,为什么有过滤器呢?
比如,进行安全验证,访问用户中心的时候,进行是否登录的判断可以在过滤器中,也可以实现屏蔽IP的功能,屏蔽黑名单的功能等等,对项目有整体的规则时,都可以在过滤器中实现,不用在每个函数中来实现了
过滤器是通过beego.insertfilter函数来实现的
在router文件中
beego.InsertFilter("/demo/*", beego.BeforeRouter, FilterDemo)
var FilterDemo = func(ctx *context.Context) {
var (
title string
)
title = "禁止访问"
ctx.WriteString(title)
}
这里是屏蔽规则,包含demo/的url都走过滤规则;第二个参数是BeforeRouter,在寻找路由之前;第三个参数是函数名。
配置信息
beego提供了专门配置文件,配置信息定义在conf文件夹中的app.conf
appname = fyouku //项目名称
httpport = 8098 //访问端口号
runmode = dev //运行环境,下面会根据运行环境加载不同配置
[dev]
apiurl = http://127.0.0.1:8099
microApi = http://127.0.0.1:8085
[prod]
apiurl = http://127.0.0.1:8099
microApi = http://127.0.0.1:8085
静态文件
项目中的css、js、img文件都是怎样访问的,bee new创建的项目中有static文件夹,这是beego默认注册的静态文件处理目录
├── static
│ ├── css
│ ├── img
│ └── js
访问地址为:http://127.0.0.1:8080/static/js/fyouku.js
也可以通过下面命令来自定义目录
beego.SetStaticPath("/down1", "download1")