Go 防止杜松子酒去掉一些字符

Go 防止杜松子酒去掉一些字符,go,go-gin,Go,Go Gin,我使用gingonic作为我的API框架。我现在有一个奇怪的问题,杜松子酒通常会去掉我的一些角色。这是我的模型 type ConfirmationCode struct { Code string `form:"code" json:"code" xml:"code" binding:"required"` PhoneNumber string `form:"number" json:"number" xml:"number" binding:"r

我使用gingonic作为我的API框架。我现在有一个奇怪的问题,杜松子酒通常会去掉我的一些角色。这是我的模型

 type ConfirmationCode struct {
        Code        string `form:"code" json:"code" xml:"code" binding:"required"`
        PhoneNumber string `form:"number" json:"number" xml:"number" binding:"required"`
        RequestId   string `form:"request_id" json:"request_id" xml:"request_id" binding:"required"`
    }
这是我的主要职责

func main(){
    router.POST("/codes/confirm", func(c *gin.Context) {
        confirmCode(c)
    })
}
邮寄申请样本

/codes/confirm?api_key=xxxx&api_secret=xxx&request_id=a70a917406bd4f9
fb81fad0400ac535b&code=950762&number=+2347*********
这是我的处理函数

   func confirmCode(c *gin.Context) {
        var confirmationCode ConfirmationCode
        if err := c.ShouldBind(&confirmationCode); err != nil {
            m := err.Error()
            if m == "EOF" {
                m = "Please provide a valid code"
                spitBadRequest(m, c)
                return
            }
            for _, fieldErr := range err.(validator.ValidationErrors) {
                spitBadRequest(constants.ValidationErrorMap[fieldErr.StructField()]+" is required", c)
                return
            }
            return
        }
        receivedNumber:=confirmationCode.PhoneNumber
        log.Println(receivedNumber)
        //receivedNumber is always coming out as 2347********* without the + sign.
        //How can I make sure that the + sign is preserved and not stripped out.
}
嗯,URL是,而
+
是URL编码的空间。因此,如果您希望保留
+
,您很可能只需要对其进行URL编码,即
%2B

&number=%2B2347*********
看见