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

Functionality of Beego syntax 'Ctx.Input.GetData('<variable-name>')'

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

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

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

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