php小编小新为您介绍如何使用gin框架获取Golang http post请求的原始数据。在Golang中,使用gin框架可以便捷地处理http请求,包括post请求。通过gin框架提供的Context对象,可以轻松获取post请求中的原始数据,进而进行后续处理。接下来,我们将详细解析如何在gin框架中实现这一功能,让您轻松处理http post请求中的数据。
问题内容
我在我的服务器中收到一个 post 请求,其负载与此类似
{ "amount": 10000,
"amount_due": 0,
"amount_paid": 10000,
"attempts": 1,
}
登录后复制
内容类型是application/json。
现在,为了进行一些计算,我希望原始文本中的有效负载类似于这样。
{"amount":10000,"amount_due":0,"amount_paid":10000,"attempts":1}
No space and no new line
登录后复制
我正在使用 golang 和 gin 框架,但我试图获取请求正文,例如
ginctx *gin.context.request.body 或 ginctx *gin.context.getrawdata(),那么我没有得到我实际想要的原始数据,我得到了很好的缩进 json,但我想要原始正文。
请帮助我如何使用 gin 框架在 golang 中获取它。
解决方法
请注意,raw 表示未处理,这正是 c.GetRawData()
返回的内容。
如果您想获取原始数据并删除所有无关紧要的空格,那么您需要处理数据。根据定义,处理的结果将不再是原始数据。
所以不太清楚你的要求是什么。
- 您想要原始数据吗?然后使用
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))
登录后复制
以上就是如何使用gin框架获取Golang http post请求的原始数据的详细内容,更多请关注每日运维网(www.mryunwei.com)其它相关文章!