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")
}

image-20211116222251243

二、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")
}

image-20211116222606489

三、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")
}

image-20211116223046405

原文地址:https://www.cnblogs.com/randysun/p/15626572.html