一、gin框架GetHeader探究
// CanonicalHeaderKey.
type Header map[string][]string
func (h Header) Get(key string) string {
return textproto.MIMEHeader(h).Get(key)
}
寻根我们发现GetHeader底层的数据存储在map中,就会存在并发读写map的问题
二、解决方法
在middleware层对数据进行预读取和存储
ctx.Set("test","test")
然后读取的时候通过另一个方法
GetContextString("test")