Paramètres de requête facultatifs dans la requête GET utilisant Gorilla Mux
Lorsque vous travaillez avec des requêtes HTTP GET dans Gorilla Mux, il est souvent souhaitable d'autoriser paramètres de requête facultatifs. Par défaut, la spécification d'un paramètre de requête dans la définition de la route (par exemple Queries("username", "{username}")) rend sa présence obligatoire.
Le problème
Comme souligné dans la question, le code fourni nécessite que les paramètres de requête « nom d'utilisateur » et « e-mail » soient présents dans la requête. Cependant, l'exigence est d'avoir la flexibilité de fournir l'un ou les deux paramètres, permettant des chaînes de requête facultatives.
La solution
Pour résoudre ce problème, les étapes suivantes sont recommandé :
r.HandleFunc("/user", UserByValueHandler).Methods("GET")
func UserByValueHandler(w http.ResponseWriter, r *http.Request) { v := r.URL.Query() username := v.Get("username") email := v.Get("email") ..... }
Cette approche permet des paramètres de requête facultatifs . Si un paramètre spécifique n'est pas fourni dans la requête, v.Get() renverra une chaîne vide, qui pourra être gérée en conséquence dans le code.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!