Home  >  Article  >  Backend Development  >  How to get the raw data of Golang http post request using gin framework

How to get the raw data of Golang http post request using gin framework

PHPz
PHPzforward
2024-02-22 12:30:17602browse

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

php editor Xiaoxin will introduce to you how to use the gin framework to obtain the original data of the Golang http post request. In Golang, the gin framework can be used to conveniently handle http requests, including post requests. Through the Context object provided by the gin framework, the original data in the post request can be easily obtained for subsequent processing. Next, we will analyze in detail how to implement this function in the gin framework, allowing you to easily process data in http post requests.

Question content

I received a post request in my server with a load similar to this

{       "amount": 10000,
        "amount_due": 0,
        "amount_paid": 10000,
        "attempts": 1,
}

The content type is application/json. Now, in order to do some calculations, I want the payload in the raw text to look like this.

{"amount":10000,"amount_due":0,"amount_paid":10000,"attempts":1} 
No space and no new line

I'm using golang and gin framework but I'm trying to get the request body like ginctx *gin.context.request.body or ginctx *gin.context.getrawdata(), then I don't get the raw data that I actually want, I get the nicely indented json, but I want the raw body. Please help me how to get it in golang using gin framework.

Solution

Please note that raw means unprocessed, which is exactly what c.GetRawData() returns content.

If you want to get the raw data and remove all irrelevant spaces, then you need to process the data. By definition, the result of processing will no longer be the original data.

So I’m not sure what your request is.

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))

The above is the detailed content of How to get the raw data of Golang http post request using gin framework. For more information, please follow other related articles on the PHP Chinese website!

Statement:
This article is reproduced at:stackoverflow.com. If there is any infringement, please contact admin@php.cn delete