方法一:gin获取querystring参数
package main
//querystring
import (
"net/http"
"github.com/gin-gonic/gin"
)
func main() {
r := gin.Default()
r.GET("/web", func(c *gin.Context) {
//获取浏览器那边发请求携带的query String参数
//获取参数最常用的方式
//通过Query获取请求中携带的query String参数
name := c.Query("query")
//
c.JSON(http.StatusOK, name)
//
c.JSON(http.StatusOK, gin.H{
"name": name,
})
})
r.Run(":9000")
}
效果:
方法二:DefaultQuery带默认参数
package main
//querystring
import (
"net/http"
"github.com/gin-gonic/gin"
)
func main() {
r := gin.Default()
r.GET("/web", func(c *gin.Context) {
//获取浏览器那边发请求携带的query String参数
//获取参数最常用的方式
//通过Query获取请求中携带的query String参数
//DefaultQuery,如果能查到就用查到的,查不到就用默认值
name := c.DefaultQuery("query","somebody")
//
c.JSON(http.StatusOK, name)
//
c.JSON(http.StatusOK, gin.H{
"name": name,
})
})
r.Run(":9000")
}
效果:
方法三:GetQuery
package main
//querystring
import (
"net/http"
"github.com/gin-gonic/gin"
)
func main() {
r := gin.Default()
r.GET("/web", func(c *gin.Context) {
//获取浏览器那边发请求携带的query String参数
//获取参数最常用的方式
//通过Query获取请求中携带的query String参数
//DefaultQuery,如果能查到就用查到的,查不到就用默认值
//
name, ok := c.GetQuery("query")
if !ok {
name = "No Value"
}
//
c.JSON(http.StatusOK, name)
//
c.JSON(http.StatusOK, gin.H{
"name": name,
})
})
r.Run(":9000")
}
效果:
可以用&表示多个querystring,但是不建议,因为http表头有限制。