方法一: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表头有限制。