Gin框架獲取query參數
一、Query方式
package main
import (
"fmt"
"github.com/gin-gonic/gin"
"net/http"
)
func main() {
r := gin.Default()
// GET請求 url ?后面是querystring參數,key = value格式,多個key-value用&連接
// eg: /queryParams?name=randySun&age=18
r.GET("/queryParams", func(c *gin.Context) {
// 獲取瀏覽器那邊發送請求攜帶的 query string 參數
name := c.Query("name")
age := c.Query("age")
c.JSON(http.StatusOK, gin.H{
"name": name,
"age": age,
})
})
r.Run(":9999")
}

二、DefaultQuery方式
package main
import (
"fmt"
"github.com/gin-gonic/gin"
"net/http"
)
func main() {
r := gin.Default()
r.GET("/queryParams", func(c *gin.Context) {
// 方式二
name := c.DefaultQuery("name", "body")
age := c.DefaultQuery("age", "18")
fmt.Println(name, "555555555555")
c.JSON(http.StatusOK, gin.H{
"name": name,
"age": age,
})
})
r.Run(":9999")
}

三、GetQuery方式
package main
import (
"github.com/gin-gonic/gin"
"net/http"
)
func main() {
r := gin.Default()
// 方式三:
name, ok := c.GetQuery("name") // 取到值返回(值, true),否則(值, false)
if !ok {
name = "body"
}
age, ok := c.GetQuery("age")
if !ok {
age = "18"
}
c.JSON(http.StatusOK, gin.H{
"name": name,
"age": age,
})
})
r.Run(":9999")
}
