Les paramètres d’URL (alias paramètres de chaîne de requête ou variables d’URL) sont utilisés pour envoyer des données entre des pages Web ou entre un client et un serveur via une URL. Ils sont composés d’une paire clé-valeur séparée par un signe égal.
Par exemple dans l’URL www.example.com?car=sedan&color=blue
, car
et sedan
sont les deux paramètres avec des valeurs de sedan
et blue
, respectivement. Notez que la chaîne de requête précédée d’un point d’interrogation (?)
et chaque paramètre supplémentaire est relié à une esperluette (&
).
Les paramètres sont utilisés pour envoyer des requêtes de recherche, des renvois de liens, des préférences d’utilisateur et d’autres données entre les pages ou à un serveur.
Dans cet article, nous allons vous montrer comment analyser et manipuler les paramètres d’URL à l’aide de Golang.
Tout le code de cet article est disponible ici dans un Go Playground.
Obtenir un paramètre d’URL
Dans Golang, comprendre comment utiliser les paramètres d’URL est essentiel pour créer des applications Web backend. En utilisant le réseau/http package dans Golang, les développeurs peuvent analyser les URL et leurs paramètres afin d’utiliser les informations pour traiter les demandes et générer des réponses.
En supposant que notre URL est une chaîne avec des paramètres comme https://example.com/?product=shirt&color=blue&newuser&size=m
nous pouvons extraire la chaîne de requête avec url.ParseQuery
:
urlStr := "https://example.com/?product=shirt&color=blue&newuser&size=m"
myUrl, _ := url.Parse(urlStr)
params, _ := url.ParseQuery(myUrl.RawQuery)
fmt.Println(params)
Nous pouvons ensuite accéder aux paramètres de requête individuels à l’aide de la clé :
product := params.Get("product") fmt.Println(product)
color := params.Get("color") fmt.Println(color)
newUser := params.Get("newuser") fmt.Println(newUser)
Autres méthodes utiles
Vérification de la présence d’un paramètre
On peut utiliser Get()
méthode pour vérifier si un certain paramètre existe :
if _, ok := params["product"]; ok {
fmt.Println("Product parameter exists")
}
if _, ok := params["paymentmethod"]; !ok {
fmt.Println("Paymentmethod parameter does not exist")
}
Obtenir toutes les valeurs d’un paramètre
On peut utiliser params[key]
pour renvoyer toutes les valeurs associées à un paramètre particulier :
sizes := params["size"] fmt.Println(sizes)
fmt.Println(params["size"])
Itérer sur les paramètres
Nous pouvons utiliser un range
boucle pour itérer sur les paramètres :
for key, value := range params {
fmt.Printf("%s: %s\n", key, value)
}
Le réseau/url Le package fait partie de la bibliothèque standard et est disponible dans toutes les versions de Golang, ce qui le rend largement pris en charge.
Conclusion
Dans cet article, nous vous avons montré comment extraire et manipuler les paramètres d’URL dans Golang à l’aide du package « net/url » intégré.
Source link