¿Cómo realizar correctamente una solicitud GET y construir una QueryString en Go?
¡Hola a todos! Soy nuevo en Go y estoy intentando realizar una solicitud GET a una API que requiere parámetros en la query string. Por ejemplo, necesito enviar una solicitud a `https://api.example.com/search?q=golang&page=1&limit=10`.
Intenté hacerlo manualmente, simplemente concatenando la cadena, pero se ve horrible y parece incorrecto:
```go
package main
import (
"fmt"
"io/ioutil"
"net/http"
)
func main() {
url := "https://api.example.com/search?q=" + "golang" + "&page=" + "1" + "&limit=" + "10"
resp, err := http.Get(url)
if err != nil {
panic(err)
}
defer resp.Body.Close()
body, _ := ioutil.ReadAll(resp.Body)
fmt.Println(string(body))
}
```
En primer lugar, no es seguro: si el parámetro `q` contiene espacios o caracteres especiales (por ejemplo, `golang & go`), la URL se romperá. En segundo lugar, el código se ve desordenado y es incómodo de mantener, especialmente cuando hay muchos parámetros.
Sé que en otros lenguajes (por ejemplo, en Python existe `urllib.parse
No answers yet.
Inicia sesión para dejar una respuesta