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

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

Изображение: -


person Puneet    schedule 19.04.2018    source источник


Ответы (2)


Заголовок токена можно получить с помощью 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
}

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

person Shiva Kishore    schedule 19.04.2018
comment
сэр @ShivaKishore, можем ли мы преобразовать эти данные в строку? - person Puneet; 19.04.2018
comment
Здесь токен - это заголовок. он определен в go как type Header map[string][]string, поэтому для c.Request.Header["Token"] вы получите массив string. если вы всегда отправляете токену одно значение, вы можете получить к нему доступ с помощью c.Request.Header["Token"][0], это вернет строку. - person Shiva Kishore; 19.04.2018

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

  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

person CodeMobiles    schedule 10.09.2020