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
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.
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, }
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
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.
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.
c.GetRawData()
. 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))
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!