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 也是:
三、参考教程
有疑问加站长微信联系(非本文作者)