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作为参数

相关推荐
祁许10 小时前
【Golang】GORM - GEN工具 快速开始
开发语言·golang
showyoui10 小时前
深入Go语言之slice:不只是动态数组
后端·golang·slice·切片
余厌厌厌11 小时前
Go迭代器完全指南:从基础到实战
开发语言·golang
C墨羽14 小时前
使用Gin框架构建高并发教练预约微服务:架构设计与实战解析
微服务·架构·golang·gin
亚洲第一中锋_哈达迪2 天前
详解缓存淘汰策略:LFU
后端·缓存·golang
nextera-void2 天前
深入浅出 Golang:一次精神之旅
开发语言·golang·go
痴人说梦梦中人2 天前
Gin框架统一响应与中间件机制学习笔记
网络安全·中间件·go·gin
胡萝卜的兔2 天前
golang -gorm 增删改查操作,事务操作
开发语言·后端·golang
Go Dgg2 天前
【Go + Gin 实现「双 Token」管理员登录】
开发语言·golang·gin
nbsaas-boot2 天前
Go语言生态成熟度分析:为何Go还无法像Java那样实现注解式框架?
java·开发语言·golang