Gin框架获取query参数
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")
}
在当下的阶段,必将由程序员来主导,甚至比以往更甚。