ブラウザーまたはCLIを介して入力としてユーザーから引数を動的に取得して、これらのパラメーターをREST API呼び出しに渡し、最終的にGoを使用してURLを動的に構築することに興味がありますJSONデータを取得してください。
Goで役立つテクニックをいくつか知りたいと思います。私が考えた理想的な方法の1つは、マップを使用して、引数キーとそれに対応する値をマップに入力し、それを繰り返してURL文字列に追加することでした。しかし、動的に引数を取り、マップにデータを取り込むことになると、Goでそれをどのように行うかはよくわかりません。誰かがGoのコードスニペットを手伝ってくれますか?
リクエストの例:
http://<IP>:port?api=fetchJsonData&arg1=val1&arg2=val2&arg3=val3.....&argn=valn
url.URL
そのようなことを処理します。
Httpハンドラー(着信要求)の場合、これは http.Request
(req.URL.Query()でアクセスします)。
公式の非常に良い例 docs :
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)
https://github.com/golang/go/issues/17340#issuecomment-251537687
https://play.golang.org/p/XUctl_odTSb
package main
import (
"fmt"
"net/url"
)
func someURL() string {
url := url.URL{
Scheme: "https",
Host: "example.com",
}
return url.String()
}
func main() {
fmt.Println(someURL())
}
戻り値: