beego框架中控制器的创建及路由设置

2023-06-01 00:00:00 框架 路由 控制器

看着框架的目录结构,熟悉的单词controllers|models|views,说明beego是一个典型的MVC架构,入口文件就是main.go

ps:感觉有点熟悉,是否想到了什么比如:laravel、tp

D:\goblog\src\gblog>dir
 驱动器 D 中的卷是 软件
 卷的序列号是 0008-8176
 D:\goblog\src\gblog 的目录
2020\12\09 周三  13:58    <DIR>          .
2020\12\09 周三  13:58    <DIR>          ..
2020\12\07 周一  17:31    <DIR>          conf
2020\12\08 周二  17:36    <DIR>          controllers
2020\12\09 周三  13:58        13,679,616 gblog.exe
2020\12\07 周一  17:32               195 go.mod
2020\12\07 周一  17:32             5,732 go.sum
2020\12\07 周一  17:31               103 main.go
2020\12\07 周一  17:31    <DIR>          models
2020\12\07 周一  17:31    <DIR>          routers
2020\12\07 周一  17:31    <DIR>          static
2020\12\07 周一  17:31    <DIR>          tests
2020\12\07 周一  17:31    <DIR>          views
               4 个文件     13,685,646 字节
               9 个目录 116,609,089,536 可用字节


这是我刚新下载的beego框架,可以接上一篇博文,进入正题:

从创建控制器并在里面添加方法及设置路由并在浏览器上访问它,这样的流程给它跑一遍。


1.创建控制器,在controllers目录添加控制器文件test.go

package controllers

import (
"github.com/astaxie/beego"
)

// TestController  is a test control
type TestController struct {
beego.Controller
}

func (c *TestController) Test() {
c.Ctx.WriteString(`我是test控制器中的test方法`)
}

2.设置路由在routers目录中router.go文件

package routers

import (
"gblog/controllers"
"github.com/astaxie/beego"
)

func init() {
beego.Router("/", &controllers.MainController{})
/*测试控制器路由*/
beego.Router("/test", &controllers.TestController{}, "get:Test")
beego.BConfig.EnableGzip = true
beego.BConfig.RouterCaseSensitive = true
beego.BConfig.MaxMemory = 1 << 26
beego.BConfig.WebConfig.AutoRender = true
beego.BConfig.CopyRequestBody = true
}

3.重新编译重启服务,我这是在LiteIDE编辑器中直接对入口文件Ctrl+r,看看效果

1.png

相关文章