1.首先定义一个接收数据的结构体
type Login struct { Phone string `form:"phone" json:"phone" binding:"required"` RealName string `form:"realName" json:"realName" binding:"required"` SocialSecurity string `form:"socialSecurity" json:"socialSecurity" binding:"required"` House string `form:"house" json:"house" binding:"required"` AccumulationFound string `form:"accumulationFound" json:"accumulationFound" binding:"required"` Cart string `form:"cart" json:"cart" binding:"required"` CommercialInsurance string `form:"commercialInsurance" json:"commercialInsurance" binding:"required"` City string `form:"city" json:"city" binding:"required"` Weili string `form:"weili" json:"weili" binding:"required"` ApplyAmount string `form:"applyAmount" json:"applyAmount" binding:"required"` Channel string `form:"channel" json:"channel" binding:"required"` Source string `form:"Source" json:"Source" binding:"required"` Sex string `form:"sex" json:"sex" binding:"required"` Age string `form:"age" json:"age" binding:"required"` }
var data Login if err := c.MustBindWith(&data,binding.Form);err !=nil{ c.JSON(http.StatusBadRequest,gin.H{"error":err.Error()}) }
2.接收数据放到结构体data
设置请求参数
postValue := url2.Values{ "phone":{data.Phone}, "realName":{data.RealName}, "socialSecurity":{data.SocialSecurity}, "house":{data.House}, "accumulationFound":{data.AccumulationFound}, "cart":{data.Cart}, "commercialInsurance":{data.CommercialInsurance}, "city":{data.City}, "weili":{data.Weili}, "applyAmount":{data.ApplyAmount}, "channel":{data.Channel}, "Source":{data.Source}, "age":{data.Age}, }
client := &http.Client{Timeout: 5 * time.Second}
resp,err :=client.Post(url,"application/x-www-form-urlencoded",strings.NewReader(postValue.Encode()))
postValue.Encode()
Source=zm001&accumulationFound=2&age=43&applyAmount=50000&cart=1&channel=345&city=%E5%8C%97%E4%BA%AC&commercialInsurance=1&house=2&phone=13896298876&realName=%E6%9D%8E%E6%B5%8B%E8%AF%95&socialSecurity=2&weili=4
不知道为什么go是这种写法
接口代码是PHP ,