【问题标题】:Gin framework can not get the data from PostmanGin 框架无法从 Postman 获取数据
【发布时间】:2022-03-08 17:16:35
【问题描述】:

Gin框架无法从Postman获取数据,下面是一个demo:

package main

import (
    "fmt"
    "github.com/gin-gonic/gin"
)



type CreateRequest struct {
    Username string `json:"username"`
    Phone    string `json:"phone"`
    Password string `json:"password"`
}


func Signup(c *gin.Context) {
    var r CreateRequest
    if err := c.Bind(&r); err != nil {
        fmt.Println(err)
    }
    fmt.Println("this is debug info:start")
    fmt.Println(r.Username)
    fmt.Println("this is debug info:end")
}



func main() {
    r := gin.Default()

    r.POST("/signup", Signup)
    
    r.Run() // listen and serve on 0.0.0.0:8080
}

向邮递员发送请求:

调试信息:

问题出在哪里?
我该怎么办?

【问题讨论】:

  • 图片裂缝。

标签: go go-gin


【解决方案1】:

根据您的屏幕,您似乎正在发送x-www-form-urlencoded 请求,在这种情况下,您的CreateRequest 结构中必须有form 标签:

type CreateRequest struct {
    Username string `json:"username" form:"username"`
    Phone    string `json:"phone" form:"phone"`
    Password string `json:"password" form:"password"`
}

【讨论】:

    【解决方案2】:

    您应该使用 form:"username" 以便使用 URI 进行 POST。除非您想使用正文 JSON 发布它,否则您只能在结构中设置 json:"username"

    【讨论】:

    猜你喜欢
    • 2020-03-06
    • 1970-01-01
    • 2018-01-24
    • 1970-01-01
    • 2018-08-04
    • 2013-03-26
    • 1970-01-01
    • 1970-01-01
    • 2014-02-14
    相关资源
    最近更新 更多