Gin framework не может получить данные от почтальона

Фреймворк Gin не может получить данные от Postman, ниже представлена ​​демонстрация:

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
}

Отправьте запрос от почтальона:

Скриншот почтальона

Информация об отладке:

снимок экрана отладчика

В чем проблема?
Что мне делать?


person zwl1619    schedule 10.12.2018    source источник
comment
картина трескается.   -  person fwhez    schedule 19.09.2019


Ответы (1)


Согласно вашему экрану, похоже, что вы отправляете x-www-form-urlencoded запрос, и в этом случае у вас должны быть теги form в вашей CreateRequest структуре:

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