Go语言之高级篇beego框架之参数配置与路由配置

一、参数配置

beego默认会解析当前应用下的conf/app.conf文件

1.1、beego的参数配置

appname = WEB
httpport = 8080
runmode = dev   

几种开发模式

[dev]
httpprot = 8080
[prod]
httpport = 8081
[test]
httpport = 8082

//备注: beego.AppConfig.String( "dev::mysqluser" ) //dev标签

1.2、beego的应用参数配置

mysqladrr = "127.0.0.1"

mysqlprot = 9090

mysqluser

mysqlpassword

 

二、路由配置

2.1、基础路由

法一:
beego.Router("/", &controllers.MainController{})
beego.Router("/admin", &admin.UserController{})
beego.Router("/admin/index", &admin.ArticleController{})
beego.Router("/admin/addpkg", &admin.AddController{})

法二:
beego.Get("/",func(ctx * context.Context){
     ctx.Output.Body([]bype("hello world"))
})

示例:配置路由

修改配置文件: vi  /routers/router.go

a、带路由名称
beego.Router("/beego", &controllers.MainController{})

#访问网站
http://127.0.0.1:8080/beego

b、根目录
beego.Router("/", &controllers.MainController{})

#访问网站
http://127.0.0.1:8080

  

 2.2、自定义方法RESTful规则

#设置请求的方法
beego.Router("/",&IndexController{},"*:Index") * 表示任意的method都执行该函数 使用httpmethod:funcname格式来展示 多个不同的格式使用; 分割 多个method对应同一个funcname, method之间通过,来分割 以下是一个 RESTful 的设计示例: beego.Router("/api/list",&RestController{},"*:ListFood") beego.Router("/api/create",&RestController{},"post:CreateFood") beego.Router("/api/update",&RestController{},"put:UpdateFood") beego.Router("/api/delete",&RestController{},"delete:DeleteFood")
以下是多个 HTTP Method 指向同一个函数的示例: beego.Router("/api",&RestController{},"get,post:ApiFunc")
以下是不同的 method 对应不同的函数,通过 ; 进行分割的示例: beego.Router("/simple",&SimpleController{},"get:GetFunc;post:PostFunc")

示例:

 vi controllers/default.go

package controllers

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

type MainController struct {
	beego.Controller
}

func (c *MainController) Get() {
	c.Data["Website"] = "beego.me"
	c.Data["Email"] = "astaxie@gmail.com"
	c.TplName = "index.tpl"
}

func (c *MainController) Post() {
	c.Ctx.WriteString("this is method post!")

}

vi  routers/router.go

package routers

import (
	"WEB/controllers"

	"github.com/astaxie/beego"
)

func init() {
	beego.Router("/", &controllers.MainController{}, "get:Get;post:Post")
}

执行结果:

 先安装git 软件

原文地址:https://www.cnblogs.com/nulige/p/10334184.html