gin路由分组中配置中间件

在分组中配置中间件(1)

package routers

import (
	"fmt"
	controllers "gin-quickstart/controllers/user"

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

// 注意首字母要大写的哈
func UserRouters(r *gin.Engine) {
	apiUserRouters := r.Group("/user")
	{
		// 浏览器访问的是: http://localhost:8087/user/list
		// 接口应该是:127.0.0.1:8087/user/list
		// controllers是指的是包的名称,UserList是指的是包中的函数的名称
		apiUserRouters.GET("/list", controllers.UserController{}.UserList)
		// 浏览器访问的是: http://localhost:8087/user/detail
		// 接口应该是:127.0.0.1:8087/user/detail
		apiUserRouters.GET("/detail", func(ctx *gin.Context) {
			fmt.Println("这是一个中间件")
		}, controllers.UserController{}.UserDetail)
	}
}

在分组中配置中间件(2)

package routers

import (
	"fmt"
	controllers "gin-quickstart/controllers/user"

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

func getTime(c *gin.Context) {
	fmt.Println("这是一个中间件")
	c.Next()
}

// 注意首字母要大写的哈
func UserRouters(r *gin.Engine) {
	apiUserRouters := r.Group("/user")
	// 另外一个方式来配置中间件,这不是一个全局中间件,这是一个局部的中间件哈
	apiUserRouters.Use(getTime)
	{
		// 浏览器访问的是: http://localhost:8087/user/list
		// 接口应该是:127.0.0.1:8087/user/list
		// controllers是指的是包的名称,UserList是指的是包中的函数的名称
		apiUserRouters.GET("/list", controllers.UserController{}.UserList)
		// 浏览器访问的是: http://localhost:8087/user/detail
		// 接口应该是:127.0.0.1:8087/user/detail
		apiUserRouters.GET("/detail", controllers.UserController{}.UserDetail)
	}
}
posted @ 2026-10-24 16:35  何人陪我共长生  阅读(3)  评论(0)    收藏  举报