一、参数配置
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"] = "[email protected]" 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 软件