gin框架中间件和控制器之间的数据共享

中间件和控制器之间的数据共享

通过 ctx.Set(key, value) 设置值
通过 ctx.Get(key) 获取值

middlewares\baseApiTime.go

package middlewares

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

func UserHasLoginCheck(c *gin.Context) {
	// 我们在中间件中设置一个值,值是admin
	c.Set("userName", "admin")
	c.Next()
}

controllers\user\userController.go

package controllers

import (
	"fmt"

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

type UserController struct {
}

func (u UserController) UserList(c *gin.Context) {
	//获取中间件设置的值
	userName, _ := c.Get("userName")
	fmt.Printf("获取中间件的值, userName的值是: %v,\n", userName)
	c.JSON(200, gin.H{
		"msg": "获取用户列表成功",
	})
}

image

posted @ 2026-10-24 17:18  何人陪我共长生  阅读(5)  评论(0)    收藏  举报