我是第一次接触beego和goLang。我发现了一个代码。如果有人能解释一下流程,那将非常有帮助。这是一个GET API。我认为Prepare()
就像一个过滤器。我不理解的是c.Ctx.Input.GetData("customerid")
和c.Ctx.Input.GetData("customergroupid")
函数。谁能给我解释一下GetData
在做什么,以及我们如何将值传递给它们?
// URLMapping ...
func (c *CampusHomeController) URLMapping() {
c.Mapping("GetOne", c.GetOne)
}
func (c *CampusHomeController) Prepare() {
if c.Ctx.Input.GetData("customerid") == "" {
returnJSON := postCampusHomeJSON{}
returnJSON.Code = 403
returnJSON.Msg = "Invalid Session"
c.Data["json"] = &returnJSON
c.ServeJSON()
c.StopRun()
}
if c.Ctx.Input.GetData("customergroupid") == "" ||
c.Ctx.Input.GetData("customergroupid") == nil {
returnJSON := postCampusHomeJSON{}
returnJSON.Code = 404
returnJSON.Msg = "User not a campus manager"
c.Data["json"] = &returnJSON
c.ServeJSON()
c.StopRun()
}
}
发布于 2018-05-16 23:04:20
GetData用于从控制器中的筛选器获取数据。它允许您传递字符串以外的其他值。
来自Beego文档: GetData获取输入中数据的值
SetData设置输入中数据的值。GetData和SetData用于将数据从筛选器传递到控制器https://beego.me/docs/module/context.md
https://stackoverflow.com/questions/50373654
复制相似问题