我是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()
}
}
答案 0 :(得分:0)
GetData用于从控制器中的过滤器获取数据。它允许您传递除字符串以外的值。
来自Beego文档: 的GetData 获取输入数据的值
的SetData 设置输入数据的值。 GetData和SetData用于将数据从Filter传递到Controller https://beego.me/docs/module/context.md