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