3 回答
TA贡献1725条经验 获得超7个赞
如果只想将请求体 JSON 作为值传递给 Redis,则不需要将 JSON 绑定到值。直接从请求正文中读取原始 JSON 并将其传递:
jsonData, err := ioutil.ReadAll(c.Request.Body)
if err != nil {
// Handle error
}
err = client.Set("id", jsonData, 0).Err()
TA贡献2039条经验 获得超7个赞
或者您可以将GetRawData()函数用作:
jsonData, err := c.GetRawData()
if err != nil{
//Handle Error
}
err = client.Set("id", jsonData, 0).Err()
TA贡献2080条经验 获得超4个赞
让我们举个例子。假设您的请求正文有这样的用户电子邮件:
{ email: "test@test.com" }
现在你想在 bakend 上收到这封电子邮件。首先定义如下结构:
type EmailRequestBody struct {
Email string
}
现在您可以轻松地将请求正文中的电子邮件值绑定到您定义的结构,如下所示:首先为您的结构定义一个变量,如下所示,然后绑定该值:
func ExampleFunction(c *gin.Context) {
var requestBody EmailRequestBody
if err := c.BindJSON(&requestBody); err != nil {
// DO SOMETHING WITH THE ERROR
}
fmt.Println(requestBody.Email)
}
您可以轻松访问电子邮件值并将其打印出来或做任何您需要的事情:
fmt.Println(requestBody.Email)让我们举个例子。假设您的请求正文有这样的用户电子邮件:
{ email: "test@test.com" }
现在你想在 bakend 上收到这封电子邮件。首先定义如下结构:
type EmailRequestBody struct {
Email string
}
现在您可以轻松地将请求正文中的电子邮件值绑定到您定义的结构,如下所示:首先为您的结构定义一个变量,如下所示,然后绑定该值:
func ExampleFunction(c *gin.Context) {
var requestBody EmailRequestBody
if err := c.BindJSON(&requestBody); err != nil {
// DO SOMETHING WITH THE ERROR
}
fmt.Println(requestBody.Email)
}
您可以轻松访问电子邮件值并将其打印出来或做任何您需要的事情:
fmt.Println(requestBody.Email)
- 3 回答
- 0 关注
- 557 浏览
添加回答
举报