【golang】ginフレームワークpostリクエストのすべてのパラメータを取得

2991 ワード

常に構造体でパラメータを受信し,パラメータ名が事前に不明であったり,パラメータが固定されていない場合は動的に取得する.
ctx *gin.Context
form方式の要求:
    ctx.Request.ParseForm()
    for k, v := range ctx.Request.PostForm {
        fmt.Printf("k:%v
"
, k) fmt.Printf("v:%v
"
, v) }

json方式の要求:
data, _ := ioutil.ReadAll(ctx.Request.Body)
fmt.Printf("ctx.Request.body: %v", string(data))

そしてdataから解析します
コードセグメントレコード
logging.Debugf("c.Request.Method: %v", ctx.Request.Method)
logging.Debugf("c.Request.ContentType: %v", ctx.ContentType())

logging.Debugf("c.Request.Body: %v", ctx.Request.Body)
ctx.Request.ParseForm()
logging.Debugf("c.Request.Form: %v", ctx.Request.PostForm)

for k, v := range ctx.Request.PostForm {
    logging.Debugf("k:%v
"
, k) logging.Debugf("v:%v
"
, v) } logging.Debugf("c.Request.ContentLength: %v", ctx.Request.ContentLength) data, _ := ioutil.ReadAll(ctx.Request.Body) logging.Debugf("c.Request.GetBody: %v", string(data))