Gin-gonic est un framework Web léger et performant écrit en langage Go, prend en charge l'API RESTful et est facile à étendre. Cet article présentera l'utilisation de base de Gin-gonic, les paramètres de routage, l'utilisation du middleware, le rendu des modèles, etc.
1. Utilisation de base
Tout d'abord, nous devons installer Gin-gonic, qui peut être installé à l'aide de la commande suivante :
go get -u github.com/gin-gonic/gin
Une fois l'installation terminée, Gin-gonic est introduit en langage Go :
import "github.com/gin-gonic/gin"
Ce qui suit est une simple application Web Gin-gonic :
package main import "github.com/gin-gonic/gin" func main() { router := gin.Default() router.GET("/", func(c *gin.Context) { c.JSON(200, gin.H{ "message": "Hello, world!", }) }) router.Run(":8080") }
Le code ci-dessus crée un Routeur Gin-gonic par défaut, écoutez le port local 8080 et renvoyez un message "Bonjour tout le monde !" au format JSON lorsque l'utilisateur y accède.
2. Paramètres de routage
Après avoir suivi les étapes ci-dessus pour créer un routeur, vous pouvez utiliser le routeur pour définir le routage de l'application. Gin-gonic Router prend en charge les méthodes HTTP suivantes : GET, POST, PUT, PATCH, DELETE, OPTIONS et HEAD. Voyons comment créer une route :
func main() { router := gin.Default() // 定义GET请求路由 router.GET("/hello", func(c *gin.Context) { c.JSON(200, gin.H{ "message": "Hello, world!", }) }) // 定义POST请求路由 router.POST("/login", func(c *gin.Context) { // 获取表单中的username和password username := c.PostForm("username") password := c.PostForm("password") c.JSON(200, gin.H{ "username": username, "password": password, }) }) router.Run(":8080") }
Le code ci-dessus définit deux routes, l'une est la route/bonjour de la requête GET et l'autre est la route/connexion de la requête POST lorsque l'utilisateur. accède à la route/hello, renvoie un message "Hello, world!" au format JSON Lorsque l'utilisateur accède au routage/connexion, les données du formulaire soumises par l'utilisateur seront renvoyées.
3. Middleware
Le middleware Gin-gonic est une fonction qui peut être utilisée pour traiter entre les requêtes et les réponses. Les middlewares courants incluent la journalisation, l'authentification, la récupération, etc. Nous pouvons utiliser le middleware du package http intégré de Golang ou le middleware par défaut de Gin-gonic. Ce qui suit est un middleware d'enregistrement de base :
func main() { router := gin.Default() // 记录中间件 router.Use(func(c *gin.Context) { // 请求之前 // 记录请求时间 start := time.Now() // 请求处理 c.Next() // 请求之后 latency := time.Since(start) log.Print(latency) }) router.GET("/", func(c *gin.Context) { c.JSON(200, gin.H{ "message": "Hello, world!", }) }) router.Run(":8080") }
Le code ci-dessus définit un middleware d'enregistrement qui enregistre le temps de traitement de la demande avant et après chaque demande.
4. Rendu de modèle
Le modèle est une technologie courante dans le développement Web, qui nous permet de créer des applications Web à l'aide de technologies frontales telles que HTML/JavaScript/CSS. Gin-gonic prend en charge le rendu des modèles via le htmpackage intégré. Nous pouvons utiliser des modèles pour rendre des pages dynamiques. Ce qui suit est un exemple de rendu de modèle de base :
func main() { router := gin.Default() // 模板设置 router.LoadHTMLGlob("templates/*.html") router.GET("/", func(c *gin.Context) { c.HTML(200, "index.html", gin.H{ "title": "Gin-gonic", }) }) router.Run(":8080") }
Le code ci-dessus définit un exemple de rendu de modèle simple. Dans cet exemple, nous créons une requête GET pour la route racine en utilisant le routeur par défaut de Gin. Les fichiers modèles doivent être stockés dans le répertoire des modèles. Dans cet exemple, nous venons de restituer un fichier index.html, sous la forme d'une balise H1 avec un titre "Gin-gonic".
Pour résumer, Gin-gonic est un framework Web très puissant, facile à utiliser et à étendre, prenant en charge des fonctions telles que l'API RESTful et le rendu de modèles. Nous pouvons facilement créer des applications Web à l'aide de l'application Develop Gin-gonic de 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!