Beego框架基本使用

Beego最接近PHP的框架 MVC写起来和PHP的框架类似

目录结构

1.Demo

1.1定义路由

package routers

import (
    "beegoDemo/controllers"
    "github.com/astaxie/beego"
)

func init() {
    beego.Router("/", &controllers.MainController{})
    beego.Router("/goods", &controllers.GoodsController{})

    // 请求控制器的某个方法 get:GetGoods 表示发起的get请求
    beego.Router("/goods/add", &controllers.GoodsController{}, "get:AddGoods")
    beego.Router("/goods.list", &controllers.GoodsController{}, "get:GetGoods")

}

1.2控制器

package controllers

import "github.com/astaxie/beego"

type GoodsController struct {
    beego.Controller
}

func (c *GoodsController) Get() {
    //c.Ctx.WriteString("直接输出到页面显示")
    c.Data["name"] = "GJH"  // 渲染数据
    c.TplName = "goods.tpl" //指定到页面模板
}

// 方法名字大写
func (c *GoodsController) AddGoods() {
    c.Ctx.WriteString("添加商品")
}
func (c *GoodsController) GetGoods() {
    c.Ctx.WriteString("获取商品列表")
}

1.3页面渲染

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title></title>
</head>
<body>
{{/*获取控制器传来的数据*/}}
{{.name}}
</body>
</html>

2.Get_Post_Put_Delete获取参数

Beego 中可以使用 c.GetString("参数") 来获取 get 或者 post 传递的参数 我们经常需要获取用户传递的数据,包括 Get、POST 等方式的请求,beego 里面会自动解析这些数据,你可以通过如下方式获取数据:
  • GetString(key string) string
  • GetStrings(key string) []string
  • GetInt(key string) (int64, error)
  • GetBool(key string) (bool, error)
  • GetFloat(key string) (float64, error)

2.1Get

http://127.0.0.1:8080/goods.delete?id=12
func (c *GoodsController) DeleteGoods() {
    id := c.GetString("id")
    c.Ctx.WriteString("删除商品id==="+id)  //删除商品id===12
}

2.2Post

func (c *GoodsController) AddGoods() {
    name := c.GetString("name")
    price := c.GetString("price")
    c.Ctx.WriteString("添加商品name="+name+"价格=="+price)
}

postman测试

3.TODO

待续

 
注重细节——关注底层——注重细节——关注底层——注重细节——关注底层——注重细节——关注底层——注重细节——关注底层
原文地址:https://www.cnblogs.com/PJG20/p/14589905.html