1.参数配置

    1).在配置文件中设置基本配置

appname = testPoject 
httpport = 8080 
runmode = dev 
sessionon = true 
 
[dev] 
httpport = 8080 
[prod] 
httpport = 8088 
//允许哪些后缀名的静态文件进行 gzip 压缩,默认支持 .css 和 .js 
StaticExtensionsToGzip = .css, .js 
include "app2.conf" 

在这里插入图片描述
    2).在代码中设置APP配置(在main.go中beego.Run()之前添加)
        (1).配置应用名称
           beego.BConfig.AppName = "testPoject"
        (2).配置开发环境
           beego.BConfig.RunMode = "dev"
        (3).设置异常恢复,出现异常的时候通过recover恢复过来
           beego.BConfig.RecoverPanic = true
        (4).是否开启 gzip 支持,默认不支持
           beego.BConfig.EnableGzip = true
        (5).是否显示系统错误信息,默认为true
           beego.BConfig.EnableErrorsShow = true
        (6).是否将错误信息进行渲染,默认值为 true
           beego.BConfig.EnableErrorsRender= true
    3).在代码中设置Web配置(在main.go中beego.Run()之前添加)
        (1).是否模板自动渲染,默认值为 true
           beego.BConfig.WebConfig.AutoRender = true
        (2).是否模板自动渲染,默认值为 true
           beego.BConfig.WebConfig.EnableDocs = true
        (3).静态文件目录设置,默认是static
           beego.SetStaticPath("/img","文件名")
        (4).允许哪些后缀名的静态文件进行 gzip 压缩,默认支持 .css 和 .js
           beego.BConfig.WebConfig.StaticExtensionsToGzip = []string{".css", ".js"}
        (5).是否开启 XSRF,默认为 false
           beego.BConfig.WebConfig.EnableXSRF = false
        (6).设置 XSRF过时间,默认不过期
           beego.BConfig.WebConfig.XSRFExpire = 0
    4).监听配置(在main.go中beego.Run()之前添加)
        (1).是否开启热升级,默认是 false,关闭热升级
           beego.BConfig.Listen.Graceful=false
        (2).设置 HTTP 的超时时间,默认是 0,不超时
           beego.BConfig.Listen.ServerTimeOut=0
        (3).应用监听端口,默认为 8080
           beego.BConfig.Listen.HTTPPort = 8080
        (4).是否启用 HTTPS,默认是 false 关闭
           beego.BConfig.Listen.EnableHTTPS = false
        (5). HTTPS的端口,默认10443
           beego.BConfig.Listen.HTTPSPort = 10443
        (6).配置HTTPS的ssl 证书路径
           beego.BConfig.Listen.HTTPSCertFile = "conf/ssl.crt"
        (7).配置HTTPS的ssl证书 keyfile 的路径
           beego.BConfig.Listen.HTTPSKeyFile = "conf/ssl.key"
    5).session配置(在main.go中beego.Run()之前添加)
        (1).session 是否开启,默认是 false
           beego.BConfig.WebConfig.Session.SessionOn = false
    6).log配置(在main.go中beego.Run()之前添加)
        (1).是否输出日志到 Log,默认在 prod 模式下不会输出日志,默认为 false 不输出日志
           beego.BConfig.Log.AccessLogs = false
        (2).是否在日志里面显示文件名和输出日志行号,默认 true
           beego.BConfig.Log.FileLineNum = true
        (3).日志输出配置
           beego.BConfig.Log.Outputs["console"] = ""


2.路由配置

    1).get和post请求
在这里插入图片描述

        (1).get请求

beego.Get("/",func(ctx *context.Context){ 
     ctx.Output.Body([]byte("你好")) 
}) 

        (2).post请求

beego.Post("/alice",func(ctx *context.Context){ 
     ctx.Output.Body([]byte("你好")) 
}) 

        (3).支持get和post

beego.Any("/foo",func(ctx *context.Context){ 
     ctx.Output.Body([]byte("你好")) 
}) 

    2).通过正则表达式匹配路由
在这里插入图片描述

        (1).beego.Router("/api/:id", &controllers.RController{})类型
           此时请求/api/123,请求成功,id为123
        (2).beego.Router("/api/:id([0-9]+)", &controllers.RController{})类型
           id必须为数字,此时请求/api/123,请求成功,id为123
        (3).beego.Router("/api/:id([\\w]+)", &controllers.RController{})类型
           id可以是字符串,此时请求/api/test,请求成功,id为test
        (4).beego.Router("/api/:id([\\w]+)", &controllers.RController{})类型
           id是int类型,此时请求/api/123,请求成功,id为123
        (5).beego.Router("/api/*", &controllers.RController{})类型
           所有都能匹配,此时请求/api/123.png,此时变量":splat"值为123.png
        (6).beego.Router("/api/*.*", &controllers.RController{})类型
           有后缀的都可配置,此时请求/api/123.png,此时变量":path"值为"123", “:ext"值为"png”
    在代码中使用this.Ctx.Input.Param(":id")取到id的值
    3).自定义路由方法
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
    4).路由注解(在runmode = dev才能生效)
    从 beego 1.3 版本开始支持了注解路由,用户无需在 router 中注册路由
    只需要 Include 相应地 controller,然后在 controller 的 method 方法上面写上 router 注释(// @router)就可以了
在这里插入图片描述
在这里插入图片描述


评论关闭
IT源码网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!

go的beego模块