代码之家  ›  专栏  ›  技术社区  ›  Puneet Poonam Navapara

如何在golang中使用gin包获取邮差的标头数据?

  •  4
  • Puneet Poonam Navapara  · 技术社区  · 6 年前

    我想得到 header 数据使用 gin 包装(golang) 邮递员 但我不知道怎么做。我在谷歌上搜索,但没有得到任何答案。谁能帮我从 邮递员 收割台 我想得到的数据如图所示。

    图片:-

    2 回复  |  直到 6 年前
        1
  •  9
  •   tim-montague    3 年前

    您可以使用 c.Request.Header["Token"] 。 下面是一个示例代码。

    package main
    
    import (
        "github.com/gin-gonic/gin"
    )
    
    func main() {
        r := gin.Default()
        r.GET("/test", func(c *gin.Context) {
            c.JSON(200, gin.H{
                "token_data": c.Request.Header["Token"],
            })
        })
        r.Run() // listen and serve on 0.0.0.0:8080
    }
    

    下面是一个邮递员的示例截图。 Example Screenshot

        2
  •  5
  •   CodeMobiles    4 年前

    我使用此代码并且工作正常

      func getProduct(c *gin.Context) {
            token := strings.Split(c.Request.Header["Authorization"][0], " ")[1]
            c.JSON(200, gin.H{"result": "get product", "token": token})
        }
    

    这是测试数据

    收到http://localhost:8081/api/v2/productHTTP/1.1 授权:持有人eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9。eyJ1c2VybmFtZSI6ImFkbWluIiwiaWF0IjoxNTg4OTI4NzY0LCJleHAiOjE1ODg5MzM3NjR9。GrPK-7UESFPDayamoqadfclywtz3Lolspoexourfsuy