背景:為了提高程式的通用性,需要将前端request中請求的參數,包含表單參數全部取到.
代碼:
1 func DataMapByRequest(c *gin.Context)(dataMap map[string]string,err error) {
2 //必須先解析Form
3 c.Request.ParseForm()
4 dataMap = make(map[string]string)
5 //說明:須post方法,加: 'Content-Type': 'application/x-www-form-urlencoded'
6 for key, valueArray := range c.Request.PostForm {
7 if len(valueArray)>1{
8 errMsg := fmt.Sprintf("#ERROR#[%s]參數設定了[%d]次,隻能設定一次.",key,len(valueArray))
9 return nil,errors.New(errMsg)
10 }
11 dataMap[key] = c.PostForm(key)
12 }
13 //
14 for key,_ := range c.Request.URL.Query(){
15 dataMap[key] = c.Query(key)
16 }
17
18 return
19 }
本文來自部落格園,作者:xiaoyongdata(微信号:xiaoyongdata),轉載請注明原文連結:https://www.cnblogs.com/xiaoyongdata/p/15620735.html