Я новичок в 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()
}
}