Example #1
0
// @router /config/get/ [get]
func (this *ConfigController) Get() {
	channel := this.GetString("channel")
	key := this.GetString("key")
	config := models.Config{}
	m, e := config.GetConfigs()
	if e.Err != nil {
		this.Ctx.WriteString(fmt.Sprintf("%v", e.Err))
	}
	var result interface{}
	if channel != "" {
		m1, exists := m[channel]
		if !exists {
			this.Ctx.WriteString("No record")
			return
		}
		if key != "" {
			m2, exists := m1[key]
			if !exists {
				this.Ctx.WriteString("No record")
				return
			}
			result = m2
		} else {
			result = m1
		}
	} else {
		result = m
	}
	bts, err := json.Marshal(result)
	if err != nil {
		this.Ctx.WriteString(err.Error())
	} else {
		this.Ctx.WriteString(string(bts))
	}
}