亚欧色一区w666天堂,色情一区二区三区免费看,少妇特黄A片一区二区三区,亚洲人成网站999久久久综合,国产av熟女一区二区三区

  • 發布文章
  • 消息中心
點贊
收藏
評論
分享
原創

golang中的gin框架的介紹與搭建

2023-08-30 01:35:11
45
0

1.1 Gin框架的介紹

         gin框架是一個golang語言編寫的web框架,近年來,由于golang語言作為后端開發語言的火爆,gin框架的作用也越來越突出,gin框架作為golang語言的主流web框架,有著簡單,輕量,性能優越等特點

1.2 gin框架的安裝和運行一個demo

1.2.1 安裝Golang,并配置golang環境,確保golang環境正確可用

1.2.2 下載并安裝gin

具體命令為:go get -u github.com/gin-gonic/gin

1.2.3 進入項目中的demo根目錄,利用golang的mod管理進行初始化工作,命令為:

go mod init demo

1.2.4 定義一個main文件,寫下相關的POST和GET請求

package main

import ("github.com/gin-gonic")

func main() {
    r := gin.Default()

    r.GET("/test/get", func(c *gin.Context) {
        c.JSON(200, gin.H{
            "message": "this is a test example",
        })
    })

    r.POST("/test/user/create", func(c *gin.Context) {
        var userInfo struct {
            Name string `json:"name"`
            Address string `json:"address"`
            Age string `json:"age"`
        } 

        if err := c.Bind(&userInfo); err == nil {
            c.JSON(200, gin.H{
               "message": "success"
            })
        } esle {
            c.JSON(500, gin.H{"error": err.Error()})
        }
    })

    r.Run(":8000")
}

1.2.5 本地運行gin文件

go run main.go

1.2.6瀏覽器訪問

127.0.0.1:8000/test/get

1.3 gin框架的一些基本介紹

1.3.1 路由配置

路由這塊gin框架遵循Restful原則,支持GET,POST,PUT,DELETE操作

1.3.1.1 GET請求參數獲取

如果是GET請求參數為/test?testID=3011

用以下方法進行獲取

r.GET("/test", func(c *gin.Context) {
    testId :=  c.Query("testID")
    c.JSON(200, gin.H{
      "testID": testId
    })
})

如果是GET url為/test/3011

按照以下方法獲取

r.GET("/test", func(c *gin.Context) {
    testId :=  c.Param("id")
    c.JSON(200, gin.H{
      "testID": testId
    })
})

如果是多個參數,可以用獲取結構體的方式

/test?testID=3011&testName=test

r.GET("/test", func(c *gin.Context) {
    var testInfo struct {
    TestID string `json:"testID"`
TestName string `json:"testName"`
}
if err := c.ShouldBind(&testInfo); err == nil {
            c.JSON(200, gin.H{
               "message": "success"
            })
    } esle {
            c.JSON(500, gin.H{"error": err.Error()})
    }
})

POST請求獲取參數主要有兩種,一種是通過表單,一種是綁定結構體

綁定結構體和get類似

r.POST("/test", func(c *gin.Context) {
    var testInfo struct {
        TestID string `json:"testID"`
        TestName string `json:"testName"`
    }
    if err := c.ShouldBind(&testInfo); err == nil {
            c.JSON(200, gin.H{
               "message": "success"
            })
    } esle {
            c.JSON(500, gin.H{"error": err.Error()})
    }
})

獲取form表單數據如下圖所示

r.POST("/test", func(c *gin.Context) {
  testId :=  c.PostForm("testID")
testName := c.PostForm("testName")
c.JSON(200, gin.H{
   “testID”:testId, "testName":testName
})
})

0條評論
0 / 1000
l****n
2文章數
0粉絲數
l****n
2 文章 | 0 粉絲
l****n
2文章數
0粉絲數
l****n
2 文章 | 0 粉絲
原創

golang中的gin框架的介紹與搭建

2023-08-30 01:35:11
45
0

1.1 Gin框架的介紹

         gin框架是一個golang語言編寫的web框架,近年來,由于golang語言作為后端開發語言的火爆,gin框架的作用也越來越突出,gin框架作為golang語言的主流web框架,有著簡單,輕量,性能優越等特點

1.2 gin框架的安裝和運行一個demo

1.2.1 安裝Golang,并配置golang環境,確保golang環境正確可用

1.2.2 下載并安裝gin

具體命令為:go get -u github.com/gin-gonic/gin

1.2.3 進入項目中的demo根目錄,利用golang的mod管理進行初始化工作,命令為:

go mod init demo

1.2.4 定義一個main文件,寫下相關的POST和GET請求

package main

import ("github.com/gin-gonic")

func main() {
    r := gin.Default()

    r.GET("/test/get", func(c *gin.Context) {
        c.JSON(200, gin.H{
            "message": "this is a test example",
        })
    })

    r.POST("/test/user/create", func(c *gin.Context) {
        var userInfo struct {
            Name string `json:"name"`
            Address string `json:"address"`
            Age string `json:"age"`
        } 

        if err := c.Bind(&userInfo); err == nil {
            c.JSON(200, gin.H{
               "message": "success"
            })
        } esle {
            c.JSON(500, gin.H{"error": err.Error()})
        }
    })

    r.Run(":8000")
}

1.2.5 本地運行gin文件

go run main.go

1.2.6瀏覽器訪問

127.0.0.1:8000/test/get

1.3 gin框架的一些基本介紹

1.3.1 路由配置

路由這塊gin框架遵循Restful原則,支持GET,POST,PUT,DELETE操作

1.3.1.1 GET請求參數獲取

如果是GET請求參數為/test?testID=3011

用以下方法進行獲取

r.GET("/test", func(c *gin.Context) {
    testId :=  c.Query("testID")
    c.JSON(200, gin.H{
      "testID": testId
    })
})

如果是GET url為/test/3011

按照以下方法獲取

r.GET("/test", func(c *gin.Context) {
    testId :=  c.Param("id")
    c.JSON(200, gin.H{
      "testID": testId
    })
})

如果是多個參數,可以用獲取結構體的方式

/test?testID=3011&testName=test

r.GET("/test", func(c *gin.Context) {
    var testInfo struct {
    TestID string `json:"testID"`
TestName string `json:"testName"`
}
if err := c.ShouldBind(&testInfo); err == nil {
            c.JSON(200, gin.H{
               "message": "success"
            })
    } esle {
            c.JSON(500, gin.H{"error": err.Error()})
    }
})

POST請求獲取參數主要有兩種,一種是通過表單,一種是綁定結構體

綁定結構體和get類似

r.POST("/test", func(c *gin.Context) {
    var testInfo struct {
        TestID string `json:"testID"`
        TestName string `json:"testName"`
    }
    if err := c.ShouldBind(&testInfo); err == nil {
            c.JSON(200, gin.H{
               "message": "success"
            })
    } esle {
            c.JSON(500, gin.H{"error": err.Error()})
    }
})

獲取form表單數據如下圖所示

r.POST("/test", func(c *gin.Context) {
  testId :=  c.PostForm("testID")
testName := c.PostForm("testName")
c.JSON(200, gin.H{
   “testID”:testId, "testName":testName
})
})

文章來自個人專欄
文章 | 訂閱
0條評論
0 / 1000
請輸入你的評論
0
0