Maison > développement back-end > Golang > Comment obtenir les données brutes de la requête de publication http Golang à l'aide du framework gin

Comment obtenir les données brutes de la requête de publication http Golang à l'aide du framework gin

PHPz
Libérer: 2024-02-22 12:30:17
avant
750 Les gens l'ont consulté

如何使用gin框架获取Golang http post请求的原始数据

L'éditeur php Xiaoxin vous présentera comment utiliser le framework gin pour obtenir les données originales de la requête de publication http Golang. Dans Golang, le framework gin peut être utilisé pour gérer facilement les requêtes http, y compris les requêtes de publication. Grâce à l'objet Context fourni par le framework gin, les données originales de la demande de publication peuvent être facilement obtenues pour un traitement ultérieur. Ensuite, nous analyserons en détail comment implémenter cette fonction dans le framework gin, vous permettant de traiter facilement les données dans les requêtes de publication http.

Contenu de la question

J'ai reçu une demande de publication sur mon serveur avec une charge similaire à celle-ci

{       "amount": 10000,
        "amount_due": 0,
        "amount_paid": 10000,
        "attempts": 1,
}
Copier après la connexion

Le type de contenu est application/json. Maintenant, afin de faire quelques calculs, je veux que la charge utile dans le texte brut ressemble à ceci.

{"amount":10000,"amount_due":0,"amount_paid":10000,"attempts":1} 
No space and no new line
Copier après la connexion

J'utilise le framework golang et gin mais j'essaie d'obtenir le corps de la requête comme ginctx *gin.context.request.body ou ginctx *gin.context.getrawdata(), alors je n'obtiens pas les données brutes que je veux réellement, j'obtiens le json joliment indenté, mais je veux le corps brut. S'il vous plaît, aidez-moi à l'obtenir dans Golang en utilisant le framework gin.

Solution de contournement

Veuillez noter que brut signifie non traité, ce qui est exactement ce que renvoie c.GetRawData().

Si vous souhaitez obtenir les données brutes et supprimer tous les espaces non pertinents, vous devez alors traiter les données. Par définition, le résultat du traitement ne sera plus les données originales.

Je ne suis donc pas sûr de la nature de votre demande.

  • Voulez-vous des données brutes ? Alors utilisez c.GetRawData().
  • Voulez-vous supprimer les données contenant des espaces non pertinents ? Alors utilisez json.Compact.
raw, err := c.GetRawData()
if err != nil {
    return err
}
var buf bytes.Buffer
if err := json.Compact(&buf, raw); err != nil {
    return err
}
data := buf.Bytes()
fmt.Println(string(data))
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:stackoverflow.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal