【问题标题】:How can I get url in Gin middleware?如何在 Gin 中间件中获取 url?
【发布时间】:2019-01-29 02:32:26
【问题描述】:

我想在 Gin 的中间件中进行 A/B 测试,我想将 url:usermeta 作为键值传递给 A/B 测试服务。我怎样才能实现这个目标?或者任何其他优雅的方式?

【问题讨论】:

    标签: go middleware ab-testing go-gin


    【解决方案1】:

    我想您想添加一个新的功能中间件并以 A/B 样式对其进行测试。

    func ServiceMiddleWare() gin.HandleFunc {
        return func(c *gin.Context){
            r := rand.New(rand.NewSource(time.Now().UnixNano()))
            if r.Intn(100) < 50 {
               c.Next()
               return
            } 
    
            // service_logic
            fmt.Println("add a new service")
            c.Next()
        }
    }
    

    【讨论】:

    • 不是简单的随机策略,有时与用户的元数据有关
    【解决方案2】:

    使用

    c.FullPath()
    

    获取当前 URL 路径

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-25
      • 2015-09-25
      • 2018-11-07
      • 1970-01-01
      相关资源
      最近更新 更多