"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > ¿Cómo agregar de manera eficiente los parámetros de consulta a las solicitudes GET de GO?

¿Cómo agregar de manera eficiente los parámetros de consulta a las solicitudes GET de GO?

Publicado el 2025-02-26
Navegar:117

How to Efficiently Add Querystring Parameters to Go's GET Requests?

parámetros de consulta en go's get solicitudes

en go, enviando solicitudes GET con los parámetros de consulta se pueden lograr usando http.client. Sin embargo, esta tarea puede no ser tan directa como parece.

para superar este desafío, puede aprovechar el paquete NET/URL. Su tipo de valores proporciona un mecanismo conveniente para construir consultas. Considere el siguiente ejemplo:

import (
    "fmt"
    "log"
    "net/http"
    "os"
    "net/url"
)

func main() {
    // Create a new request object with an initial URL.
    req, err := http.NewRequest("GET", "http://api.themoviedb.org/3/tv/popular", nil)
    if err != nil {
        log.Print(err)
        os.Exit(1)
    }

    // Get the existing query parameters from the request URL.
    q := req.URL.Query()

    // Add your querystring parameters to the `q` map.
    q.Add("api_key", "key_from_environment_or_flag")
    q.Add("another_thing", "foo & bar")

    // Encode the updated `q` map into a raw querystring and set it in the request.
    req.URL.RawQuery = q.Encode()

    // Retrieve the final URL with the querystring for debugging purposes.
    fmt.Println(req.URL.String())
    // Output:
    // http://api.themoviedb.org/3/tv/popular?another_thing=foo & bar&api_key=key_from_environment_or_flag
}

Este código demuestra cómo construir dinámicamente parámetros de consulta sin recurrir a la concatenación de cadena. El método de codificación de URL.Values ​​asegura que los caracteres especiales estén correctamente codificados para la transmisión.

Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3