Я использую gin goni c в качестве работы API Frame. В настоящее время у меня происходит странная проблема, когда джин обычно вырезает некоторых из моих персонажей. Вот моя модель
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"`
}
Вот мое главное развлечение c
func main(){
router.POST("/codes/confirm", func(c *gin.Context) {
confirmCode(c)
})
}
Пример запроса POST
/codes/confirm?api_key=xxxx&api_secret=xxx&request_id=a70a917406bd4f9
fb81fad0400ac535b&code=950762&number=+2347*********
Вот мой Handler Fun c
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.
}