Aller faire une requête GET et la construction de la chaîne de Requête

Je suis assez nouveau à l'Aller et de ne pas tout comprendre encore. Dans beaucoup de langues modernes Node.js, Angulaire, jQuery, PHP, vous pouvez faire une requête GET avec d'autres paramètres de chaîne de requête.

Faire en Aller n'est pas tout à fait aussi simple qu'il y paraît, et je ne peux pas vraiment comprendre encore. Je ne veux vraiment pas avoir à concaténer une chaîne de caractères pour chacune des demandes que je veux faire.

Voici un exemple de script:

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))
}

Dans cet exemple vous pouvez voir il y a une URL, ce qui nécessite une variable de api_key avec votre clé api que la valeur. Le problème étant que cela devient codées en dur dans la forme de:

req, _ := http.NewRequest("GET", "http://api.themoviedb.org/3/tv/popular?api_key=mySuperAwesomeApiKey", nil)

Est-il un moyen de construire cette chaîne de requête dynamiquement?? Pour le moment, j'ai besoin d'assembler les URL avant cette étape afin d'obtenir une réponse valide.

  • Alors quel est le problème avec la concaténation d'une chaîne de caractères?
  • Je suppose que rien, mais ce n'est pas vraiment une élégante solution, juste pensé il ya une meilleure façon de faire les choses en Aller. Vous voyez l'action des changements, la méthode et ensuite, vous avez à la chaîne tout ensemble.
  • Vous pouvez utiliser url.Valuesdu Encode de la méthode. Vous pouvez également utiliser URL.String pour construire l'ensemble de l'URL.
InformationsquelleAutor Rudi Strydom | 2015-06-04