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