0
点赞
收藏
分享

微信扫一扫

【gin】初识中间件

思考的鸿毛 2022-03-11 阅读 124
go中间件

1.写在前面

对于中间件的概念,一直不是特别清楚。但是今天写着程序,突然有些意识到中间件是干嘛的。

个人觉得可以把中间件看作一个第三方的代理。复杂的工作交给它去做。我们只需要拿到想要的结果就行。

2.看个例子:

1.自定义一个中间件

func myselfWare() gin.HandlerFunc  {
	return func(c *gin.Context) {
		t := time.Now()
		fmt.Println("自定义的中间件开始执行了.....")
	//	设置值到上下文中
		c.Set("psd","1234")
	// 写入上下文的一个状态 【这里没有特别去查询,按照自己的理解来了】
		status := c.Writer.Status()
		fmt.Println("中间件执行完毕",status)
		t2 := time.Since(t)
		fmt.Println("time",t2)
	}
}

2.使用中间件

	r.Use(myselfWare())
	{
		r.GET("/test", func(c *gin.Context) {
		//	取走中间件的值
				req,_ := c.Get("psd")
				fmt.Println("req",req)
				c.JSON(200,gin.H{"psd":req})
		})
	}

3.结果:
在这里插入图片描述

经过上面这个例子,可以看出,我们可以在自定义的中间件中处理自己一些数据,然后去通过get方法获取这些数据。以实现相应的操作。

以上,就是本人对中间件浅显的认识。希望能给大家带来一定的启发。

举报

相关推荐

0 条评论