gin框架传入的gin.context参数是池化的

  1. gin.context参数不但是池化的,而且是指针

  2. 但是gin.context又实现了context的接口。因此,可以当作context去使用

  3. 这就会导致一个很严重的问题:

  4. 池化导致了复用后的ctx将会将之前使用的ctx中的内容进行覆盖。

  5. 实现了context接口,导致context.withvalue(*gin.context,key,value).并不会有编译错误

具体我在解决问题时,采用register的方式,将全部的http请求注册到统一入口处。统一入口,将*gin.Context转化为context.Background(),调用controller。将context作为参数传递,而不再使用*gin.Context作为参数

相关推荐
r***F2622 小时前
【漏洞复现】CVE-2019-11043(PHP远程代码执行漏洞)信息安全论文_含漏洞复现完整过程_含Linux环境go语言编译环境安装
linux·golang·php
a***56066 小时前
Windows上安装Go并配置环境变量(图文步骤)
开发语言·windows·golang
未来之窗软件服务13 小时前
幽冥大陆(三十五)S18酒店门锁SDK go语言——东方仙盟筑基期
java·前端·golang·智能门锁·仙盟创梦ide·东方仙盟·东方仙盟sdk
0***863313 小时前
【Golang】——Gin 框架中的表单处理与数据绑定
microsoft·golang·gin
C***115013 小时前
对基因列表中批量的基因进行GO和KEGG注释
开发语言·数据库·golang
u***420713 小时前
Golang 构建学习
开发语言·学习·golang
CryptoPP15 小时前
使用 KLineChart 这个轻量级的前端图表库
服务器·开发语言·前端·windows·后端·golang
qq_1728055915 小时前
Go 语言结构型设计模式深度解析
开发语言·设计模式·golang
雨中散步撒哈拉17 小时前
17、做中学 | 初三下期 Golang文件操作
开发语言·后端·golang
apocelipes19 小时前
利用泛型编写更安全的Golang代码
golang·泛型编程