Go 中的 URL 生成器/查询生成器

2024-04-12

我感兴趣的是通过浏览器或 CLI 动态获取用户的参数作为输入,将这些参数传递给 REST API 调用,从而使用 Go 动态构建 URL,最终为我获取一些 JSON 数据。

我想了解 Go 中的一些技术可以帮助我做到这一点。我认为一种理想的方法是使用映射并用参数键和相应的值填充它,然后迭代它并将其附加到 URL 字符串。但是当谈到动态获取参数并填充地图时,我不太确定如何在 Go 中做到这一点。有人可以帮我解决 Go 中的一些代码片段吗?

请求示例:

http://<IP>:port?api=fetchJsonData&arg1=val1&arg2=val2&arg3=val3.....&argn=valn

已经有url.URL http://golang.org/pkg/net/url/为你处理这类事情。

对于 http 处理程序(传入请求),它是http.Request http://golang.org/pkg/net/http/#Request(使用 req.URL.Query() 访问它)。

官方给的一个很好的例子docs http://golang.org/pkg/net/url/#example_URL:

u, err := url.Parse("http://bing.com/search?q=dotnet")
if err != nil {
    log.Fatal(err)
}
u.Scheme = "https"
u.Host = "google.com"
q := u.Query()
q.Set("q", "golang")
u.RawQuery = q.Encode()
fmt.Println(u)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Go 中的 URL 生成器/查询生成器 的相关文章

随机推荐