Gin的中間件和路由分組


什么是分組

對router創建Group(就是分組), 對同一分組會擁有同一前綴和同一中間件

寫法

eg:

r := gin.Default()
v1 := r.Group("/v1")
v1.POST("/login",loginEndpoint)
v1.POST("/submit",submitEndpoint)
v1.POST("/read",readEndpoint)

測試分組

package main

import (
	"fmt"
	"github.com/gin-gonic/gin"
)

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

	v1 := r.Group("v1")

	v1.GET("test", func(c *gin.Context) {
		fmt.Println("我在分組方法內部")
		c.JSON(200, gin.H{
			"success": true,
		})
	})

	r.Run(":8080")
}

什么是中間件

在請求到達路由的方法的前和后進行的一系列操作 (方法)

如何使用中間件

在路由器(路由組)上進行use操作 后面傳入中間件函數即可

點進去 Use 方法看一下

接收的參數是 middleware 是一個 HandleFunc 類型的

HandleFunc 在gin中是這樣的

下面我們創建一個中間件:


下面是中間件的執行順序 (洋蔥中間件)===>(有點像AOP中的動態代理?)

中間件的兩種使用,一種在Use里面,傳多個,第二是鏈式調用

參考: https://www.bilibili.com/video/BV18C4y1p7Fe


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM