Maison > développement back-end > Golang > Explication détaillée de la fonction de routage du framework Gin

Explication détaillée de la fonction de routage du framework Gin

王林
Libérer: 2023-06-22 09:30:11
original
2228 Les gens l'ont consulté

Gin est un framework web léger doté de puissantes fonctions de routage. Dans cet article, nous en apprendrons davantage sur les fonctions de routage du framework Gin, notamment l'enregistrement des routes, l'acquisition des paramètres, le regroupement des routes, etc.

  1. Enregistrement d'itinéraire

L'enregistrement d'itinéraire fait référence au processus d'association de chemins de requête HTTP et de fonctions de traitement. Dans le framework Gin, le processus d'enregistrement de l'itinéraire est très simple. Normalement, nous pouvons utiliser la méthode Router du framework Gin pour enregistrer les routes. Par exemple :

func main() {
  r := gin.Default()
  r.GET("/hello", func(c *gin.Context) {
    c.String(http.StatusOK, "Hello World!")
  })
  r.Run()
}
Copier après la connexion

Dans le code ci-dessus, nous avons enregistré une route pour les requêtes GET avec le chemin /hello. Lorsque l'utilisateur accède au chemin, le framework Gin appelle la fonction de gestionnaire enregistrée et renvoie la chaîne "Hello World!".

  1. Acquisition de paramètres

Dans le développement réel, nous avons généralement besoin d'obtenir certains paramètres de l'URL pour le traitement associé. Dans le framework Gin, obtenir des paramètres est très pratique. Par exemple :

func main() {
  r := gin.Default()
  r.GET("/hello/:name", func(c *gin.Context) {
    name := c.Param("name")
    c.String(http.StatusOK, "Hello %s!", name)
  })
  r.Run()
}
Copier après la connexion

Dans le code ci-dessus, nous définissons un paramètre, à savoir ":name", via l'enregistrement de l'itinéraire. Lorsque l'utilisateur accède via le chemin de /hello/{name}, le framework Gin obtiendra la valeur de paramètre correspondante en fonction du nom du paramètre, qui peut être obtenu via la méthode c.Param(). Dans l'exemple ci-dessus, nous prenons le paramètre name transmis par l'utilisateur et renvoyons un message d'accueil avec ce nom.

De plus, nous pouvons également obtenir les paramètres de requête dans l'URL via la méthode Query. Par exemple :

func main() {
  r := gin.Default()
  r.GET("/user", func(c *gin.Context) {
    name := c.Query("name")
    age := c.Query("age")
    c.JSON(http.StatusOK, gin.H{
      "name": name,
      "age": age,
    })
  })
  r.Run()
}
Copier après la connexion

Dans l'exemple ci-dessus, nous avons défini une route /user, obtenu les paramètres de requête dans l'URL via la méthode c.Query() et finalement renvoyé les paramètres de requête au format JSON.

  1. Regroupement d'itinéraires

Le framework Gin prend en charge le regroupement d'itinéraires Plusieurs itinéraires peuvent être regroupés selon certaines règles et peuvent être regroupés via la méthode Groupe. . Par exemple :

func main() {
  r := gin.Default()
  api := r.Group("/api")
  {
    api.GET("/users", func(c *gin.Context) {
      c.String(http.StatusOK, "User List")
    })
    api.GET("/user/:id", func(c *gin.Context) {
      id := c.Param("id")
      c.String(http.StatusOK, "User %s", id)
    })
  }
  r.Run()
}
Copier après la connexion

Dans l'exemple ci-dessus, nous utilisons la méthode Group pour regrouper plusieurs routes et les enregistrer toutes sous le chemin /api. De cette façon, lorsque l'utilisateur accède à /api/users, la première fonction de gestionnaire sera appelée, et lorsque l'utilisateur accédera à /api/{id}, la deuxième fonction de gestionnaire sera appelée.

Le regroupement imbriqué peut également être utilisé dans le regroupement de routage. Par exemple :

func main() {
  r := gin.Default()
  api := r.Group("/api")
  {
    v1 := api.Group("/v1")
    {
      v1.GET("/users", func(c *gin.Context) {
        c.String(http.StatusOK, "User List")
      })
      v1.GET("/user/:id", func(c *gin.Context) {
        id := c.Param("id")
        c.String(http.StatusOK, "User %s", id)
      })
    }
    v2 := api.Group("/v2")
    {
      v2.GET("/users", func(c *gin.Context) {
        c.String(http.StatusOK, "User List v2")
      })
      v2.GET("/user/:id", func(c *gin.Context) {
        id := c.Param("id")
        c.String(http.StatusOK, "User %s v2", id)
      })
    }
  }
  r.Run()
}
Copier après la connexion

Dans l'exemple ci-dessus, nous utilisons deux couches de groupement de routage, et la deuxième couche de groupement de routage est imbriquée par rapport à la première couche de groupement de routage. De cette façon, nous pouvons regrouper et gérer différentes versions d’API.

Summary

Dans cet article, nous présentons en détail les fonctions de routage du framework Gin, y compris l'enregistrement des routes, l'acquisition des paramètres, le regroupement des routes, etc. La fonction de routage du framework Gin est très puissante et simple à utiliser, ce qui nous permet de développer facilement des applications web. J'espère que cet article pourra être utile aux lecteurs.

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal