什么是中间件
中间件,英译middleware,顾名思义,放在中间的物件,那么放在谁中间呢?本来,客户端可以直接请求到服务端接口。
现在,中间件横插一脚,它能在请求到达接口之前拦截请求,做一些特殊处理,比如日志记录,故障处理等。这就是今天要讲述的中间件,那么,它在Gin框架中是怎么使用的呢?
如何使用中间件
我们来看一下逢gin
必调的方法Default
,方法中有一个变量engine
,它Use
了Logger
和Recovery
两个函数,这两个函数就是gin
框架的日志和故障处理中间件。
func Default() *Engine {
debugPrintWARNINGDefault()
engine := New()
engine.Use(Logger(), Recovery())
return engine
}
那就很清楚了,使用中间件就是调用Use
方法就行了呗,问题是现在除了这两个中间件还能去Use
谁?不如咱先自己写一个中间件吧,这样比较容易理解。
写一个中间件
写啥呢,做产品讲究MVP,那咱就写个最简单的闭环,拦截请求后输出平也最帅
的日志,产品就可以交付了。
写之前先研究一下官方的Logger
和Recovery
是怎么写的,好比葫芦画瓢。