Gestion des chemins URL dynamiques dans Go sans routes prédéfinies
Lors du développement d'applications Web dans GO, il peut être nécessaire de gérer les URL qui ne se conforment pas à un ensemble de routes prédéfini. Par exemple, considérons une URL telle que l'exemple.com/person/(any_name), où la valeur après / personne / peut varier dynamiquement. Cela soulève la question: comment pouvons-nous lire et utiliser ce composant dynamique dans notre application Go?
La réponse réside dans l'utilisation du package Gorilla / MUX, un puissant cadre de routage pour GO. Avec Gorilla / MUX, vous pouvez définir des itinéraires qui prennent en charge les variables, vous permettant de faire correspondre les URL avec une approche plus flexible.
pour illustrer son utilisation, considérons l'exemple URL: example.com/person/(any_name). À l'aide de Gorilla / Mux, nous pouvons définir un itinéraire pour gérer ce chemin comme suit:
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...
}
Dans ce code, nous créons une nouvelle instance de routeur à l'aide de MUX.NewRouter (). Ensuite, nous définissons un itinéraire à l'aide du routeur.handlefunc (). Le modèle d'itinéraire comprend un espace réservé pour la partie variable, que nous représentons {name}. Le HTTP Handler PersonHandler correspondant est défini pour gérer les demandes qui correspondent à cette voie.
Dans le gestionnaire, nous pouvons accéder à la partie variable de l'URL à l'aide de Mux.Vars (R), qui renvoie une carte des paires de valeurs clés représentant les variables extraites de l'URL de demande. Dans ce cas, nous obtenons la valeur de la variable {name} et pouvons travailler avec elle selon les besoins.
en utilisant Gorilla / MUX fournit un moyen flexible et efficace de gérer les chemins URL dynamiques dans votre application Web Go, vous permettant de lire et d'utiliser des composants d'URL personnalisés sans le besoin de routes prédéfinies.
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3