Maison >développement back-end >Golang >Golang apprend à utiliser le framework Web gin

Golang apprend à utiliser le framework Web gin

王林
王林original
2023-06-24 10:20:312601parcourir

Golang apprend à utiliser le framework Web gin

Avec le développement d'Internet, les applications Web sont devenues la configuration standard de divers systèmes logiciels. Les langages de développement côté serveur pour les applications web se diversifient de plus en plus. Parmi eux, les hautes performances et le style de syntaxe concis de Golang sont de plus en plus appréciés par les développeurs. Cet article présentera l'un des frameworks Web couramment utilisés dans Golang : gin.

1. Qu'est-ce que le gin

gin est un framework d'application web écrit en langage Go. Il est basé sur le package httprouter et la bibliothèque standard net/http, offrant des performances élevées, une efficacité, une facilité d'utilisation et des fonctions puissantes. Utilisez gin pour créer rapidement un serveur Web et prendre en charge des fonctions telles que l'API RESTful, le regroupement de routage, le middleware, la liaison de paramètres et le rendu de modèles.

2. Installation de gin

Avant d'utiliser le framework gin, vous devez d'abord installer gin. Vous pouvez utiliser la ligne de commande suivante pour installer :

go get -u github.com/gin-gonic/gin

3 Utilisation de base de gin

Ci-dessous, nous utilisons un exemple pour montrer comment utiliser gin pour écrire un site Web simple. service.

  1. Importer le package de gin

Importer le package de gin en tête du fichier de code :

import "github.com/gin-gonic/gin"
    #🎜🎜 # Créer un moteur gin
Utilisez la méthode gin.New() pour créer un nouveau moteur gin.

r := gin.New()

    Définir les routes
Utilisez r.GET(), r.POST(), r.PUT() et r.DELETE( ) méthode pour définir le routage, où le premier paramètre est le chemin de routage et le deuxième paramètre est la fonction de traitement du routage.

r.GET("/", func(c *gin.Context) {
    c.String(http.StatusOK, "Hello World")
})

    Démarrer le service
Utilisez la méthode r.Run() pour démarrer le service et spécifiez l'adresse du service et le numéro de port.

r.Run(":8080")

Le code complet est le suivant :

package main

import (
    "net/http"

    "github.com/gin-gonic/gin"
)

func main() {
    r := gin.New()

    r.GET("/", func(c *gin.Context) {
        c.String(http.StatusOK, "Hello World")
    })

    r.Run(":8080")
}

Quatrièmement, le routage du gin

    Routage de base
  1. #🎜🎜 ## 🎜🎜#Dans gin, le routage est composé de méthodes de routage, de chemins de requête et de fonctions de traitement. Les méthodes de routage incluent GET, POST, PUT, DELETE, PATCH, HEAD, OPTIONS, etc. Utilisez des méthodes telles que r.GET(), r.POST(), r.PUT() et r.DELETE() pour définir des itinéraires.
  2. r.GET("/index", func(c *gin.Context) {
        c.String(http.StatusOK, "Hello World")
    })

Route avec paramètres

  1. Utilisez les deux points (:) pour définir un itinéraire avec des paramètres.
  2. r.GET("/hello/:name", func(c *gin.Context) {
        name := c.Param("name")
        c.String(http.StatusOK, "Hello %s", name)
    })

Routage pour plusieurs types de requêtes

  1. Utilisez la méthode r.Handle() pour définir le routage pour plusieurs types de requêtes.
  2. r.Handle("GET", "/hello", func(c *gin.Context) {
        c.String(http.StatusOK, "Hello World")
    })
    
    r.Handle("POST", "/hello", func(c *gin.Context) {
        c.String(http.StatusOK, "Hello POST")
    })

Regroupement de routage

  1. Utilisez la méthode r.Group() pour implémenter le regroupement de routage. Un middleware et des routes partagées peuvent être ajoutés au routage. groupe.
  2. v1 := r.Group("/v1")
    {
        v1.GET("/hello", func(c *gin.Context) {
            c.String(http.StatusOK, "Hello v1")
        })
    }
5. Middleware Gin

Utiliser le middleware

  1. L'utilisation du middleware gin peut réaliser de nombreuses choses utiles. Des fonctionnalités telles que authentification, journalisation, mise en cache, analyse des performances, etc. Utilisez la méthode r.Use() pour enregistrer le middleware.
  2. r.Use(gin.Logger())
    r.Use(gin.Recovery())

Ecriture d'un middleware

  1. La méthode d'écriture d'un middleware est très simple Il vous suffit de créer une fonction avec un paramètre de type gin. Context. et appelez la méthode c.Next() dans la fonction pour réaliser la fonction de middleware.
  2. func Auth() gin.HandlerFunc {
        return func(c *gin.Context) {
            if c.GetHeader("Authorization") != "token" {
                c.AbortWithStatus(http.StatusUnauthorized)
            }
            c.Next()
        }
    }
    
    r.GET("/hello", Auth(), func(c *gin.Context) {
        c.String(http.StatusOK, "Hello World")
    })
Six, liaison des paramètres gin

Bind Query settings

  1. Utilisez la méthode c.Query() pour obtenir paramètres de requête.
  2. r.GET("/hello", func(c *gin.Context) {
        name := c.Query("name")
        age := c.Query("age")
        c.String(http.StatusOK, "name: %s, age: %s", name, age)
    })

Lier le formulaire POST

  1. Utilisez la méthode c.PostForm() pour obtenir les données du formulaire POST.
  2. r.POST("/login", func(c *gin.Context) {
        username := c.PostForm("username")
        password := c.PostForm("password")
        c.JSON(http.StatusOK, gin.H{
            "username": username,
            "password": password,
        })
    })

Lier les données JSON

  1. Utilisez la méthode c.BindJSON() pour lier les données JSON.
  2. type User struct {
        Name     string `json:"name"`
        Password string `json:"password"`
    }
    
    r.POST("/login", func(c *gin.Context) {
        var user User
        if err := c.BindJSON(&user); err == nil {
            c.JSON(http.StatusOK, gin.H{
                "name":     user.Name,
                "password": user.Password,
            })
        } else {
            c.JSON(http.StatusBadRequest, gin.H{
                "error": err.Error(),
            })
        }
    })
7. Rendu de modèle Gin

L'utilisation du framework gin peut faciliter le rendu de modèle et prend en charge plusieurs moteurs de modèles, tels que HTML, JSON, XML, etc.

Installer le moteur de modèle

  1. Utilisez la commande go get pour installer le moteur de modèle.
  2. go get -u github.com/gin-gonic/gin
    go get -u github.com/gin-gonic/contrib/jwt
    go get -u github.com/jinzhu/gorm

Load template

  1. Utilisez la méthode gin.LoadHTMLGlob() pour charger le fichier modèle.
  2. r.LoadHTMLGlob("html/*")

Modèle de rendu

  1. Utilisez la méthode c.HTML() pour rendre le modèle.
  2. r.GET("/html", func(c *gin.Context) {
        c.HTML(http.StatusOK, "index.html", gin.H{
            "title": "Welcome Gin Web Framework",
        })
    })
8. Conclusion

Cet article présente les étapes et techniques de base pour utiliser le framework gin pour créer un serveur Web. Les hautes performances et le style de syntaxe concis de Golang le rendent de plus en plus populaire parmi les développeurs dans le développement de services Web. J'espère que cet article pourra apporter de l'inspiration et aider les développeurs de serveurs Web Golang.

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