Функциональность синтаксиса Beego 'Ctx.Input.GetData ('')' - PullRequest
0 голосов
/ 16 мая 2018

Я новичок в 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 голосов
/ 16 мая 2018

GetData используется для получения данных от фильтров в ваших контроллерах. Позволяет передавать значения, отличные от строк.

Из документации Beego: Получить данные Получить значение данных на входе

SetData Установите значение данных на входе. GetData и SetData используются для передачи данных из фильтра в контроллер https://beego.me/docs/module/context.md

...