Maison > Article > développement back-end > Comment puis-je rendre les paramètres de requête facultatifs dans une requête Gorilla Mux GET ?
Paramètres de requête dans la requête GET : paramètres facultatifs à l'aide de Gorilla Mux
Dans Gorilla Mux, les paramètres de requête sont utilisés pour filtrer et récupérer les données d'un Requête HTTP. Par défaut, tous les paramètres de requête spécifiés doivent être présents dans la requête. Cependant, il peut y avoir des cas où vous souhaitez rendre certains paramètres facultatifs.
Par exemple, considérons un scénario dans lequel vous souhaitez qu'une requête GET contienne soit un paramètre « nom d'utilisateur », soit « e-mail », mais pas nécessairement les deux. . Auparavant, votre code pouvait ressembler à ceci :
<code class="go">r.HandleFunc("/user", userByValueHandler). Queries( "username", "{username}", "email", "{email}", ). Methods("GET")</code>
Ce code nécessite que "nom d'utilisateur" et "e-mail" soient présents dans la demande. Pour rendre ces paramètres facultatifs, nous pouvons modifier notre code comme suit :
<code class="go">r.HandleFunc("/user", UserByValueHandler).Methods("GET")</code>
Désormais, le gestionnaire de route "/user" est invoqué quelle que soit la présence de paramètres de requête. Pour récupérer les paramètres facultatifs, nous pouvons utiliser la méthode URL.Query() dans la fonction gestionnaire :
<code class="go">func UserByValueHandler(w http.ResponseWriter, r *http.Request) { v := r.URL.Query() username := v.Get("username") email := v.Get("email") ..... }</code>
La fonction v.Get() renverra la valeur associée au nom du paramètre spécifié, ou un chaîne vide si le paramètre n'est pas présent. Cela nous permet de gérer les deux cas où un ou deux paramètres sont fournis dans la requête.
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!