zoukankan      html  css  js  c++  java
  • 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 软件

  • 相关阅读:
    docker swarm 集群搭建和臫servoce对服务扩容
    docker 可视化 portainer
    docker Compose
    hadoop2 安装
    y的最大值最小值切割
    滑块图片拼接
    ast 对象还原
    babel/types is判断
    t.isLiteral()
    杂题集合
  • 原文地址:https://www.cnblogs.com/nulige/p/10334184.html
Copyright © 2011-2022 走看看