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中间件的设计允许你执行一些预处理或后处理逻辑,例如身份验证、日志记录等。

相关推荐
mftang1 小时前
Python 字符串拼接成字节详解
开发语言·python
jasligea1 小时前
构建个人智能助手
开发语言·python·自然语言处理
kokunka1 小时前
【源码+注释】纯C++小游戏开发之射击小球游戏
开发语言·c++·游戏
云栖梦泽2 小时前
易语言开发从入门到精通:补充篇·网络编程进阶+实用爬虫开发·API集成·代理IP配置·异步请求·防封禁优化
开发语言
java1234_小锋2 小时前
Java高频面试题:SpringBoot为什么要禁止循环依赖?
java·开发语言·面试
铅笔侠_小龙虾3 小时前
Flutter Demo
开发语言·javascript·flutter
2501_944525543 小时前
Flutter for OpenHarmony 个人理财管理App实战 - 账户详情页面
android·java·开发语言·前端·javascript·flutter
福大大架构师每日一题3 小时前
ComfyUI v0.11.1正式发布:新增开发者专属节点支持、API节点强化、Python 3.14兼容性更新等全方位优化!
开发语言·python
wangdaoyin20103 小时前
若依vue2前后端分离集成flowable
开发语言·前端·javascript
向阳开的夏天3 小时前
麒麟V10源码编译QT5.6.3 (x86 & arm64)
开发语言·qt