一、参数配置
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 软件