Beego语法'Ctx.Input.GetData('<variable-name>')'的功能

时间:2018-05-16 14:32:08

标签: go beego

我是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()
    }
}

1 个答案:

答案 0 :(得分:0)

GetData用于从控制器中的过滤器获取数据。它允许您传递除字符串以外的值。

来自Beego文档: 的GetData 获取输入数据的值

的SetData 设置输入数据的值。 GetData和SetData用于将数据从Filter传递到Controller https://beego.me/docs/module/context.md