manejo de rutas de URL dinámica en vaya sin rutas predefinidas
al desarrollar aplicaciones web en Go, puede ser necesario manejar URL que no se ajusten a un conjunto predefinido de rutas. Por ejemplo, considere una URL como el ejemplo.com/person/(any_name), donde el valor después/persona/puede variar dinámicamente. Esto plantea la pregunta: ¿Cómo podemos leer y utilizar este componente dinámico en nuestra aplicación GO?
La respuesta radica en usar el paquete Gorilla/Mux, un poderoso marco de enrutamiento para GO. Con Gorilla/Mux, puede definir rutas que admitan variables, lo que le permite hacer coincidir las URL con un enfoque más flexible.
para ilustrar su uso, consideremos la URL de ejemplo: Ejemper.com/person/(any_Name). Usando Gorilla/Mux, podemos definir una ruta para manejar esta ruta de la siguiente manera:
package main
import (
"github.com/gorilla/mux"
"net/http"
)
func main() {
router := mux.NewRouter()
router.HandleFunc("/person/{name}", PersonHandler)
_ = http.ListenAndServe(":8080", router)
}
func PersonHandler(w http.ResponseWriter, r *http.Request) {
vars := mux.Vars(r)
name := vars["name"]
// Do something with the name...
}
En este código, creamos una nueva instancia de enrutador usando mux.newrouter (). Luego, definimos una ruta usando enrutador.handlefunc (). El patrón de ruta incluye un marcador de posición para la parte variable, que representamos como {nombre}. El controlador del controlador HTTP correspondiente se define para manejar las solicitudes que coinciden con esta ruta.
Dentro del controlador, podemos acceder a la parte variable de la URL usando mux.vars (r), que devuelve un mapa de pares de valor clave que representan las variables extraídas de la URL de solicitud. En este caso, obtenemos el valor de la variable {name} y podemos funcionar con ella según sea necesario.
utilizando Gorilla/Mux proporciona una forma flexible y eficiente de manejar rutas de URL dinámicas en su aplicación web GO, lo que le permite leer y utilizar componentes personalizados sin la necesidad de las rutas predefinidas
]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