私はGoを初めて使用しますが、まだすべてを理解しているわけではありません。現代語のNode.js、Angular、jQuery、PHPの多くでは、追加のクエリ文字列パラメーターを使用してGETリクエストを実行できます。
Goでこれを行うのは、見た目ほど簡単ではなく、まだ理解できていません。実行したいリクエストごとに文字列を連結する必要は本当にありません。
サンプルスクリプトは次のとおりです。
package main
import (
"fmt"
"io/ioutil"
"net/http"
)
func main() {
client := &http.Client{}
req, _ := http.NewRequest("GET", "http://api.themoviedb.org/3/tv/popular", nil)
req.Header.Add("Accept", "application/json")
resp, err := client.Do(req)
if err != nil {
fmt.Println("Errored when sending request to the server")
return
}
defer resp.Body.Close()
resp_body, _ := ioutil.ReadAll(resp.Body)
fmt.Println(resp.Status)
fmt.Println(string(resp_body))
}
この例では、APIキーを値として持つapi_keyのGET変数を必要とするURLがあることがわかります。問題は、これが次の形式でハードコーディングされることです。
req, _ := http.NewRequest("GET", "http://api.themoviedb.org/3/tv/popular?api_key=mySuperAwesomeApiKey", nil)
このクエリ文字列を動的に作成する方法はありますか?現時点では、有効な応答を取得するために、この手順の前にURLをアセンブルする必要があります。