本文最后更新于 2024-08-08,文章内容可能已经过时。

固定路由

beego.Router("/", &controllers.MainController{})

beego.Router("/Deletes/", &controllers.MainController{}, "get:Deletes")  //*:AllFunc;post:PostFunc

获取路由携带的URL参数

this.Ctx.Input.Param(":id")

this.Ctx.Input.Param(":ext") //获得文件后缀名,如:html , json 等

路由请求类型

get: GET 请求
post: POST 请求
put: PUT 请求
delete: DELETE 请求
patch: PATCH 请求
options: OPTIONS 请求
head: HEAD 请求
*: 包含以下所有的函数,优先级最低
使用方法:固定路由第二条

源码编译

bee run 启动
go build 编译
bee pack -be GOOS=linux 打包为Linux可执行文件
bee pack -be GOOS=windows  打包为Windows可执行文件

控制器常用操作

this.Ctx.Redirect(302, "/admin/index")  路由重定向
this.Data["Website"] = "123"  模板参数赋值
this.TplName = "index.tpl"  设置指定模板文件
模板文件默认为:**类名称/控制器名称.tpl**

控制器示列

func (this *MainController) Prepare() {
   在beego框架内,会优先
   this.Data["Website"] = "123"
   this.Data["json"] = map[string]interface{}{"name": "astaxie"} //需要返回的JSON数据
   this.ServeJSON() //返回JSON
   this.StopRun() //提前终止请求
}

func (this *MainController) Get(){
    Get请求覆写
    this.TplName = "Get.tpl"
}

func (this *MainController) Post(){
    Post请求覆写
    this.TplName = "Post.tpl"
}

修改模板内的默认{{ }}符号,防止和vue冲突

beego.BConfig.WebConfig.TemplateLeft = "<<<"
beego.BConfig.WebConfig.TemplateRight = ">>>"

模板页面引入其他模板

<<< template "common/header.tpl" >>>
当前页面内容
<<< template "common/footer.tpl" >>>

模板语法大全