Maison >développement back-end >Golang >Comment créer des itinéraires avec des variables d'URL facultatives dans Gorilla Mux ?

Comment créer des itinéraires avec des variables d'URL facultatives dans Gorilla Mux ?

Susan Sarandon
Susan Sarandonoriginal
2024-12-15 18:39:13714parcourir

How to Create Routes with Optional URL Variables in Gorilla Mux?

Variables d'URL facultatives dans les itinéraires avec Gorilla Mux

Gorilla Mux est un package de routage polyvalent pour Go qui permet de définir des itinéraires avec des variables d'URL. Cependant, lorsqu'il s'agit de créer des itinéraires avec des variables d'URL facultatives, la syntaxe par défaut peut ne pas sembler immédiatement apparente.

Route originale sans variable facultative

Basé sur le code fourni :

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

cette route dessert les pages uniquement si un identifiant est spécifié, sous la forme de localhost:8080/view/1.

Ajout d'une variable URL facultative

Pour autoriser les variables facultatives, enregistrez simplement un deuxième gestionnaire pour l'itinéraire sans la contrainte de variable :

r.HandleFunc("/view", MakeHandler(ViewHandler))

Cela permettra d'accéder à l'itinéraire avec et sans identifiant spécifié, comme souhaité.

Gestion des variables facultatives dans le code

Lors de l'accès aux variables de requête dans votre fonction de gestionnaire, il est essentiel de vérifier l'existence de la variable facultative :

vars := mux.Vars(r)
id, ok := vars["id"]
if !ok {
  // Handle the case when the ID is not specified
  return
}
// Handle the case when the ID is specified

En mettant en œuvre cette approche, vous pouvez créer des routes avec des variables d'URL facultatives à l'aide de Gorilla Mux, vous permettant de gérer différents scénarios et de fournir un utilisateur plus flexible. expérience.

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