Go konusunda oldukça yeniyim ve henüz her şeyi tam olarak anlamıyorum. Modern Node.js, Angular, jQuery, PHP dillerinin çoğunda ek sorgu dizesi parametreleriyle bir GET isteği yapabilirsiniz.
Bunu Go'da yapmak göründüğü kadar basit değil ve henüz tam olarak anlayamıyorum. Yapmak istediğim her istek için bir dizeyi birleştirmek zorunda kalmayı gerçekten istemiyorum.
İşte örnek komut dosyası:
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))
}
Bu örnekte, değer olarak api anahtarınızla birlikte api_key'in bir GET değişkenini gerektiren bir URL olduğunu görebilirsiniz. Sorun, bunun şu şekilde kodlanmış olmasıdır:
req, _ := http.NewRequest("GET", "http://api.themoviedb.org/3/tv/popular?api_key=mySuperAwesomeApiKey", nil)
Bu sorgu dizesini dinamik olarak oluşturmanın bir yolu var mı? Şu anda, geçerli bir yanıt alabilmek için bu adımdan önce URL'yi bir araya getirmem gerekecek.