Как получить данные заголовка почтальона, используя пакет gin в golang?

Я хочу получить header использование данных gin пакет (golang) в почтальоне, но я не понимаю, как это сделать. Я ищу его в Google, но не получаю никакого ответа. Может ли кто-нибудь помочь мне получить данные от почтальона header данные, которые я хочу получить, показаны на рисунке.

Образ:-

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
}

Вот пример скриншота почтальона. Пример скриншота

Я использую этот код и хорошо работаю

  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:// локальный:8081/ API /v2/ продукт HTTP/1.1 Разрешение: Знаменосец eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6ImFkbWluIiwiaWF0IjoxNTg4OTI4NzY0LCJleHAiOjE1ODg5MzM3NjR9.GrPK-7uEsfpdAYamoqaDFclYwTZ3LOlspoEXUORfSuY

Вместо прямого доступа к объекту запроса gin предоставляет геттер (проще в использовании и делает код чище). На основе принятого ответа @Shiva:

      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{
            // or c.GetHeader("Authorization")
            "token_data": c.GetHeader("Token"),
        })
    })
    r.Run() // listen and serve on 0.0.0.0:8080
}
Другие вопросы по тегам