“ web开发肯定免不了接收用户输入的参数,然后针对不同的参数做不同的逻辑处理。所以,今天我们就一起来看下gin框架怎么获取用户参数
01
—
url参数
import (
"demo/src/main/router"
"github.com/gin-gonic/gin"
"io"
"net/http"
"os"
)
func main() {
// 关闭控制台日志颜色
gin.DisableConsoleColor()
// 配置日志输出目录
f, _ := os.Create("go.log")
gin.DefaultWriter = io.MultiWriter(f, os.Stdout)
r := gin.New()
// 使用log中间件
r.Use(gin.Logger())
r.GET("/hello", func(c *gin.Context) {
// 这里通过Query()方法来获取键为name的值
n := c.Query("name")
c.JSON(http.StatusOK, gin.H{
"flag": true,
"msg": "hello " + n,
})
})
r.Run(":81")
}
02
—
表单参数
import (
"demo/src/main/router"
"github.com/gin-gonic/gin"
"io"
"net/http"
"os"
)
func main() {
// 关闭控制台日志颜色
gin.DisableConsoleColor()
// 配置日志输出目录
f, _ := os.Create("go.log")
gin.DefaultWriter = io.MultiWriter(f, os.Stdout)
r := gin.New()
// 使用log中间件
r.Use(gin.Logger())
// 这里需要换成post请求
r.POST("/hello", func(c *gin.Context) {
// 这里通过PostForm()方法来获取键为name的值
n := c.PostForm("name")
c.JSON(http.StatusOK, gin.H{
"flag": true,
"msg": "hello " + n,
})
})
r.Run(":81")
}
03
—
API参数
gin框架通过Param()方法来获取api参数,例如
import (
"demo/src/main/router"
"github.com/gin-gonic/gin"
"io"
"net/http"
"os"
)
func main() {
// 关闭控制台日志颜色
gin.DisableConsoleColor()
// 配置日志输出目录
f, _ := os.Create("go.log")
gin.DefaultWriter = io.MultiWriter(f, os.Stdout)
r := gin.New()
// 使用log中间件
r.Use(gin.Logger())
// api参数键需要前面加:
r.POST("/hello/:name", func(c *gin.Context) {
// 通过Param()方法来获取api参数
n := c.Param("name")
c.JSON(http.StatusOK, gin.H{
"flag": true,
"msg": "hello " + n,
})
})
r.Run(":81")
}