Beego 框架学习笔记 03 | Put、Delete
Beego 框架学习笔记 03:Put、Delete
一、Put
修改 goods.go:
package controllers import ( "github.com/astaxie/beego" ) type GoodsController struct { // 首字母要大写 beego.Controller } func (c *GoodsController) Get() { // get c.Data["title"] = "你好beego" c.TplName = "goods.tpl" } func (c *GoodsController) DoAdd() { // post c.Ctx.WriteString("执行增加操作") } func (c *GoodsController) DoEdit() { // put c.Ctx.WriteString("执行修改操作") } func (c *GoodsController) DoDelete() { // delete c.Ctx.WriteString("执行删除操作") }
在 router.go 中添加路由:
package routers import ( "beegodemo/controllers" "github.com/astaxie/beego" ) func init() { beego.Router("/", &controllers.MainController{}) beego.Router("/article", &controllers.ArticleController{}) // 访问 Get 方法 beego.Router("/article/add", &controllers.ArticleController{}, "get:AddArticle") // 访问自定义方法 beego.Router("/article/edit", &controllers.ArticleController{}, "get:EditArticle") // 结构体地址 beego.Router("/user", &controllers.UserController{}) beego.Router("/user/add", &controllers.UserController{}, "get:AddUser") // 结构体地址 beego.Router("/user/doAdd", &controllers.UserController{}, "post:DoAddUser") beego.Router("/user/edit", &controllers.UserController{}, "get:EditUser") // 结构体地址 beego.Router("/user/doEdit", &controllers.UserController{}, "post:DoEditUser") beego.Router("/user/getUser", &controllers.UserController{}, "get:GetUser") // 首字母大写 beego.Router("/goods", &controllers.GoodsController{}) beego.Router("/goods/add", &controllers.GoodsController{}, "post:DoAdd") beego.Router("/goods/edit", &controllers.GoodsController{}, "put:DoEdit") beego.Router("/goods/delete", &controllers.GoodsController{}, "delete:DoDelete") }
使用 Postman 来测试接口:
二、Delete
goods.go:
package controllers import ( "github.com/astaxie/beego" "strconv" ) type GoodsController struct { // 首字母要大写 beego.Controller } func (c *GoodsController) Get() { // get c.Data["title"] = "你好beego" c.TplName = "goods.tpl" } func (c *GoodsController) DoAdd() { // post c.Ctx.WriteString("执行增加操作") } func (c *GoodsController) DoEdit() { // put title := c.GetString("title") c.Ctx.WriteString("执行修改操作--" + title) } func (c *GoodsController) DoDelete() { // delete id, err := c.GetInt("id") if err != nil { c.Ctx.WriteString("参数错误") } c.Ctx.WriteString("执行删除操作--" + strconv.Itoa(id)) }
router.go:
package routers import ( "beegodemo/controllers" "github.com/astaxie/beego" ) func init() { beego.Router("/", &controllers.MainController{}) beego.Router("/article", &controllers.ArticleController{}) // 访问 Get 方法 beego.Router("/article/add", &controllers.ArticleController{}, "get:AddArticle") // 访问自定义方法 beego.Router("/article/edit", &controllers.ArticleController{}, "get:EditArticle") // 结构体地址 beego.Router("/user", &controllers.UserController{}) beego.Router("/user/add", &controllers.UserController{}, "get:AddUser") // 结构体地址 beego.Router("/user/doAdd", &controllers.UserController{}, "post:DoAddUser") beego.Router("/user/edit", &controllers.UserController{}, "get:EditUser") // 结构体地址 beego.Router("/user/doEdit", &controllers.UserController{}, "post:DoEditUser") beego.Router("/user/getUser", &controllers.UserController{}, "get:GetUser") // 首字母大写 beego.Router("/goods", &controllers.GoodsController{}) beego.Router("/goods/add", &controllers.GoodsController{}, "post:DoAdd") beego.Router("/goods/edit", &controllers.GoodsController{}, "put:DoEdit") beego.Router("/goods/delete", &controllers.GoodsController{}, "delete:DoDelete") }
在 Postman 中在 Body 中输入 Key 和 Value,点击 Send,可以看到:
同样的,edit 也是:
三、参考教程
Go学习笔记 文章被收录于专栏
自己学习 Go 语言记录的笔记。