"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Comment gérer les paramètres de requête en option dans les demandes GET avec Gorilla Mux?

Comment gérer les paramètres de requête en option dans les demandes GET avec Gorilla Mux?

Publié le 2025-03-07
Parcourir:203

How to Handle Optional Query Parameters in GET Requests with Gorilla Mux?

Fournir des paramètres de requête facultatifs dans les demandes de GET avec Gorilla MUX

Lorsque vous définissez des gestionnaires de routes avec Gorilla MUX, il peut être nécessaire d'avoir des paramètres de requête facultatifs dans les demandes GET. Cela permet la flexibilité de fournir un sous-ensemble des paramètres attendus.

Dans Gorilla Mux, les paramètres de requête facultatifs peuvent être obtenus en supprimant les contraintes lors de la définition de l'itinéraire. Au lieu d'utiliser la méthode .Queries (), l'itinéraire peut être défini comme suit:

r.HandleFunc("/user", UserByValueHandler).Methods("GET")

Au sein de la fonction Handler UserByValueHandler, les paramètres de query peuvent être extraits à partir de la fonction Handler UserByValie request:

func UserByValueHandler(w http.ResponseWriter, r *http.Request) {
    v := r.URL.Query()

    username := v.Get("username")
    email := v.Get("email")
    ... 
}

En supprimant les contraintes à l'aide de .Queries (), la fonction de gestionnaire peut ensuite vérifier la présence des paramètres de requête selon les besoins. Cette approche permet une manipulation de paramètres de requête plus flexible, permettant aux paramètres facultatifs d'être inclus ou exclus comme souhaité.

Dernier tutoriel Plus>

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