如何在go中绑定查询字符串?

时间:2016-11-22 06:32:40

标签: json web-services curl go

package main

import "log"
import "github.com/gin-gonic/gin"

type Person struct {
    Name    string `json:"name"`
    Address string `json:"address"`
}

func main() {
    log.Println("Hello World")
    route := gin.Default()
    route.GET("/testing", startPage)
    route.Run(":8085")
}

func startPage(c *gin.Context) {
    var person Person
    if c.BindJSON(&person) == nil {
        log.Println(person.Name)
        log.Println(person.Address)
        log.Println("Binding success...............")
    } else {
        log.Println("Binding failed...............")
    }

    c.String(200, "Success")
}

以上代码仅适用于curl -X GET localhost:8085/testing --data '{"name":"JJ", "address":"xyz"}' -H "Content-Type:application/json",但不适用于curl -X GET localhost:8085/testing?name=JJ&address=xyz -H "Content-Type:application/json"

如果我使用c.Bind(&person),绑定失败两种情况。 我怎么能写上面的代码绑定查询字符串和json。通过--data传递参数和传入查询字符串之间有什么区别。

1 个答案:

答案 0 :(得分:-1)

golang gin 中的查询参数应为

name := c.Param("name")