gpt4 book ai didi

go - 防止 Gin 去除某些字符

转载 作者:行者123 更新时间:2023-12-01 22:12:58 25 4
gpt4 key购买 nike

我使用 gin gonic 作为我的 API 框架工作。我目前有一个奇怪的问题, Gin 通常会去掉我的一些角色。这是我的模型

 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)
})
}

POST 请求示例
/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 encoded , 和 +是一个 URL 编码的空间。所以,如果你想要 +要保留,您很可能只需要对其进行 URL 编码,即 %2B .

&number=%2B2347*********

关于go - 防止 Gin 去除某些字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62464804/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com