Почему почтовый запрос не работает в gin golang? - PullRequest
0 голосов
/ 31 августа 2018

Этот код не работает, ответ будет пустым, как это {"test":""}.

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

            router.POST("/test", f

unc(c *gin.Context) {
            test := c.Query("test")
            c.JSON(200, gin.H{
                "test": test,
            })
        })
        router.Run()
    }

ОБНОВЛЕНИЕ: Я нашел простое решение через структуру:

func test(c *gin.Context) {
    test := struct {
        Test   string `json:"test"`
        Test2 string `json:"test2"`
    }{}
    c.BindJSON(&test)

    c.JSON(200, gin.H{
        "test1":  test.Test,
        "test2": test.Test2,
    })
}

Ответы [ 2 ]

0 голосов
/ 03 сентября 2018
func test(c *gin.Context) {
    test := struct {
        Test   string `json:"test"`
        Test2 string `json:"test2"`
    }{}
    c.BindJSON(&test)

    c.JSON(200, gin.H{
        "test1":  test.Test,
        "test2": test.Test2,
    })
}
0 голосов
/ 31 августа 2018

Вы отправляете данные как тело, вам нужно привязать тело к переменной, чтобы иметь к ней доступ.

type Data struct {
   test string
}
// ...

router.POST("/test", func(c *gin.Context) {
   var data Data        
   c.BindJSON(&data)

   c.JSON(200, gin.H{ 
      "test": data.test,
   })
})
...