Я хочу получить header
данные, используя gin
пакет (golang) в почтальоне, но я не понимаю, как это сделать. Я ищу в Google, но не получаю ответа. Может ли кто-нибудь помочь мне получить данные от почтальона header
, данные, которые я хочу получить, показаны на изображении.
Как получить данные заголовка почтальона с помощью пакета gin в golang?
Ответы (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
сэр @ShivaKishore, можем ли мы преобразовать эти данные в строку?
- person Puneet; 19.04.2018
Здесь токен - это заголовок. он определен в 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