我感兴趣的是通过浏览器或CLI动态地从用户那里获取参数作为输入,将这些参数传递给REST API调用,从而使用Go动态地构建URL,最终获取一些JSON数据。
我想知道一些围棋技巧,可以帮助我做到这一点。我认为一个理想的方法是使用一个Map,用参数、键和相应的值填充它,然后迭代它并将它附加到URL字符串。但是当涉及到动态地获取参数并填充Map时,我不太确定如何在Go中做到这一点。有人能帮我写一些Go中的代码片段吗?
请求示例:
http://<IP>:port?api=fetchJsonData&arg1=val1&arg2=val2&arg3=val3.....&argn=valn
4条答案
按热度按时间t9eec4r01#
已经有
url.URL
为您处理这类事情。对于http处理程序(传入请求),它是
http.Request
的一部分(使用req.URL.Query()访问它)。官方文档中的一个很好的例子:
kr98yfug2#
https://github.com/golang/go/issues/17340#issuecomment-251537687
https://play.golang.org/p/XUctl_odTSb
返回:
https://example.com
mzillmmw3#
url.Values{}
提供了一个用于构建查询参数的接口。您可以构造内联和/或使用.Add
作为动态属性:s71maibg4#