http获取get参数过滤 
                                                    
                        
                    
                    
  
                    
                    r.URL.Query()
localhost:3000/about?name=111&b...
这个可以获取到map类型的所有参数
map[11:[] bb:[121,11] name:[111]]
vars := r.URL.Query()
        arr := map[string]interface{}{}
        for k,v := range vars{
            str := v[0]
            if str != "" {
                arr[k] = v[0]
            }
        }
        fmt.Println(arr)
- 上述中可以简单地把有效参数获取整理到arrmap中
 - 但是时机中如有地址参数用户可以随机更改,不一定都是我们需要的数据
 - 所以我有如下更改
 从中如果我们得知该路由下我们需要的参数只有name和age时,过滤其他字符,其中每个字段里面的max,type等等还没有写,这块我们可以把参数验证也加进去student := map[string]interface{}{} student["name"] = map[string]interface{}{"max": 11, "min": 2, "type": "int"} student["age"] = map[string]interface{}{"max": 11, "min": 2, "type": "int"} arr := map[string]interface{}{} for k, v := range vars { _, ok := student[k] if ok { str := &v[0] if *str != "" { arr[k] = *str } } } fmt.Println(arr)
本作品采用《CC 协议》,转载必须注明作者和本文链接
          
          
          
                关于 LearnKu
              
                    
                    
                    
 
推荐文章: