首頁 > 後端開發 > Golang > 如何使用gin框架取得Golang http post請求的原始數據

如何使用gin框架取得Golang http post請求的原始數據

PHPz
發布: 2024-02-22 12:30:17
轉載
677 人瀏覽過

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

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請求的原始數據的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:stackoverflow.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板