【问题标题】:How to get header data of postman using gin package in golang?如何在golang中使用gin包获取邮递员的标头数据?
【发布时间】:2018-09-29 11:54:24
【问题描述】:

我想在 postman 中使用gin package(golang) 获取header 数据,但我不知道该怎么做。我用谷歌搜索它,但没有得到任何答案。谁能帮我从 postman header 获取数据,我想要获取的数据如图所示。

图片:-

【问题讨论】:

  • c.GetHeader("token")

标签: go postman go-gin


【解决方案1】:

您可以使用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
}

这是邮递员的示例截图。

【讨论】:

  • sir @ShivaKishore 我们可以把这些数据改成字符串吗?
  • 这里的token是一个header。它在 go 中定义为type Header map[string][]string,因此对于c.Request.Header["Token"],您将获得string 的数组。如果您总是向令牌发送单个值,您可以通过c.Request.Header["Token"][0] 访问它,这将返回一个字符串。
【解决方案2】:

我使用这个代码并且运行良好

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

这是测试数据

GET http://localhost:8081/api/v2/product HTTP/1.1 授权:承载 eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6ImFkbWluIiwiaWF0IjoxNTg4OTI4NzY0LCJleHAiOjE1ODg5MzM3NjR9.GrPK-7uEsfpdAYamoqaDFclYwTZ3LOlspoEXUORf

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-07-01
    • 2018-01-01
    • 2021-01-27
    • 1970-01-01
    • 1970-01-01
    • 2022-11-04
    • 2020-11-22
    • 1970-01-01
    相关资源
    最近更新 更多