golang 中间件使用

1、自定义中间件函数

Go 复制代码
func CustomMiddleware() gin.HandlerFunc {
	return func(c *gin.Context) {
		// 在请求之前执行的逻辑
		fmt.Println("执行自定义中间件 - 请求之前")

		// 调用链中的下一个处理程序
		c.Next()

		// 在请求之后执行的逻辑
		fmt.Println("执行自定义中间件 - 请求之后")
	}
}

2、使用中间件

Go 复制代码
func main() {
	// 创建一个Gin引擎
	router := gin.Default()

	// 使用自定义中间件
	router.Use(CustomMiddleware())

	// 定义路由
	router.GET("/hello", func(c *gin.Context) {
		c.JSON(200, gin.H{
			"message": "Hello, Gin Middleware!",
		})
	})

	// 启动服务器
	router.Run(":8080")
}

在上述示例中,CustomMiddleware函数返回一个gin.HandlerFunc,它是一个用于Gin中间件的类型。在中间件函数中,你可以在处理请求之前和之后执行特定的逻辑。在示例中,我们简单地在控制台打印一些信息。

main函数中,通过router.Use方法将自定义中间件添加到Gin引擎。中间件的执行顺序与它们添加到引擎的顺序相同。

当访问/hello路由时,中间件会在处理请求之前和之后执行。

请注意,Gin中间件的设计允许你执行一些预处理或后处理逻辑,例如身份验证、日志记录等。

相关推荐
無限進步D14 小时前
Java 基础算法训练
java·开发语言·算法·入门
map1e_zjc14 小时前
Java SpringBoot学习记录(4)
java·开发语言·学习
小毛驴85015 小时前
多线程同步打标记的几种实现方案
java·开发语言·python
Mr_Xuhhh15 小时前
递归之美:合并两个有序链表的优雅解法
java·开发语言
bluebonnet2715 小时前
【Python】一些PEP提案(五):注解的延迟求值
开发语言·python
橙露15 小时前
Python 操作 MongoDB:非关系型数据查询与分析
开发语言·python·mongodb
Rust研习社15 小时前
深入 Rust 引用计数智能指针:Rc 与 Arc 从入门到实战
开发语言·后端·rust
CRMEB系统商城15 小时前
国内开源电商系统的格局与演变——一个务实的技术视角
java·大数据·开发语言·小程序·开源·php
xyq202416 小时前
Eclipse 安装(Neon 版本)指南
开发语言
冰暮流星16 小时前
javascript之DOM更新操作
开发语言·javascript·ecmascript