beego的mvc的参数配置、路由配置

本文详细介绍了Go语言Web框架Beego的配置管理,包括配置文件设置、代码配置、监听配置、session管理和日志配置。同时,文章还阐述了路由配置的多种方式,如GET、POST请求、正则表达式匹配及自定义路由方法,并提到了注解路由的使用,为开发者提供了全面的Beego框架配置与路由操作指南。
摘要由CSDN通过智能技术生成
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)就可以了
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值