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
待续