将数组/切片作为 url 参数传递

我有一个简单的 Web 服务器,它拦截地理空间地图图块请求、交换像素并将图像传递到前端以提供它们。它工作得很好,但请求变得相当大。我想知道是否可以传递数组或切片?我似乎找不到任何搜索。例如:


http://localhost:8002/tiles?url=url&r=0&g=250&b=0&a=230&replaceR=0&replaceG=127&replaceB=0&replaceA=0

是我的典型要求。我想添加更多颜色来交换,所以如果我能通过类似的东西会很棒:


http://localhost:8002/tiles?url=url&rgba1=[0,250,0,230,0,127,0,0]&rgba2=[250,0,100,100,200,0,20,180]

这可能吗?我试图循环它:


form := make(map[string][]uint8)

for k, v := range r.URL.Query() {

    arr := []uint8{}

    for i := 0; i < len(v); i++ {

        val, err := strconv.ParseInt(v[i], 10, 32)

        arr = append(arr, uint8(val))

        if err != nil {

        }

    }

    form[k] = arr

}

但它只是打印 [0]


PIPIONE
浏览 180回答 1
1回答

慕妹3242003

您在 GET 请求中的参数不是数组。rgba1=0&rgba1=250&rgba1=0&rgba1=230&rgba1=0&rgba1=127&rgba1=0&rgba1=0创建一个数组 rgba1=[0,250,0,230,0,127,0,0]见https://golang.org/pkg/net/url/#Values
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go