Maison  >  Article  >  développement back-end  >  Comment gérer les paramètres d'URL facultatifs dans Gorilla Mux ?

Comment gérer les paramètres d'URL facultatifs dans Gorilla Mux ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-11-27 02:17:12424parcourir

How to Handle Optional URL Parameters in Gorilla Mux?

Comment gérer les variables d'URL facultatives avec Gorilla Mux

La création d'itinéraires avec des variables d'URL facultatives peut être réalisée dans la bibliothèque Gorilla Mux. Explorons comment procéder :

Configuration et problème actuels :

Le code fourni définit une route qui nécessite un identifiant de variable entière dans l'URL, mais pas tous les scénarios. peut nécessiter une pièce d’identité. Le but est de faire en sorte que la route accepte les deux cas : avec et sans la variable id.

Solution :

Pour y parvenir, enregistrez le gestionnaire deux fois :

r.HandleFunc("/view", MakeHandler(ViewHandler))
r.HandleFunc("/view/{id:[0-9]+}", MakeHandler(ViewHandler))

En enregistrant le gestionnaire avec le chemin /view sans aucun paramètre, cela permet à la route de fonctionner même lorsqu'il n'y a pas de id.

Gestion des Vars :

Lors de la récupération des variables de la requête, il est essentiel de vérifier la présence de la variable id :

vars := mux.Vars(r)
id, ok := vars["id"]
if !ok {
    // Directory listing or equivalent logic
    return
}
// Specific view logic

Si l'identifiant n'est pas présent dans la requête (c'est-à-dire que /view a été demandé), la variable ok sera fausse et vous pourrez la gérer de manière appropriée (par exemple, afficher une liste d'annuaire). Sinon, la valeur id peut être utilisée dans le gestionnaire de vue spécifique.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn