【原】gin框架的安装和基本使用

/ 0评 / 0

1.什么是gin?

首先看一下gin官网对gin框架的介绍Gin 是一个用 Go (Golang) 编写的 web 框架。 它是一个类似于 martini 但拥有更好性能的 API 框架, 由于 httprouter,速度提高了近 40 倍。 如果你是性能和高效的追求者, 你会爱上 Gin.是的,gin是一个go语言编写的api框架。

2.安装

安装方法可以参考官网上的安装法法: https://gin-gonic.com/zh-cn/docs/quickstart/当然, 要安装 Gin 软件包,需要先安装 Go 并设置 Go 工作区

go get -u github.com/gin-gonic/gin

3.使用

如要使用需将gin引入到代码中:

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

下面使用gin构建一个hello World

新建一个  example.go的文件,使用如下代码

package  main
import "github.com/gin-gonic/gin"
func main()  {
   r := gin.Default()
   r.GET("/index", func(c *gin.Context) {
            //以json形式返回给客户端
      c.JSON(200,gin.H{
         "message":"hello world!",
      })
   })
    //监听0.0.0.0:8080  并启动
   r.Run()
}

执行 go run example.go命令来那行代码

#运行example.go 并在浏览器中访问 http://127.0.0.1:8080/index
go run example.go

使用浏览器访问http://127.0.0.1:8080/index, 可以看到 返回的json格式的  hello world! 数据

代码示例

1,获取get请求中的参数

package main
import (
   "github.com/gin-gonic/gin"
)
func main() {
   r := gin.Default()
   //获取get请求中的参数
   r.GET("/get", func(c *gin.Context) {
   //获取name参数
   name := c.Query("name")
   //获取age参数,如果未传该参数,则将该参数设置为默认的18
   age := c.DefaultQuery("age","18")
   //以json格式返回
   c.JSON(200,gin.H{
      "name" : name,
      "age" : age,
   })
})
//启动,这里是默认的8080端口,如需设置端口可以r.run(":8888")
r.run()
}

运行以上代码,在postman里跑一下

2,获取post请求中的参数(重复内容不再赘述,直接上核心代码,重复内容和上面get的一样)

//post请求获取post参数
r.POST("/post", func(c *gin.Context) {
   name := c.PostForm("name")//获取message
   //如果没有传入age参数,则设置其默认值为18
   age :=  c.DefaultPostForm("age","18")
   c.JSON(200,gin.H{
      "name":name,
      "age":age,
   })
})

运行代码,postman跑一下

3,get和post混合使用

//get+post混合
r.POST("/getpost", func(c *gin.Context) {
   name := c.Query("name")
   page := c.PostForm("page")
   //此处将参数直接返回,不进行验证操作
   c.JSON(200,gin.H{
      "name":name,
      "page" : page,
   })
})

运行代码,postman跑一下

4,获取路径中的参数

//获取路径中的参数
r.GET("/user/:name", func(c *gin.Context) {
   name := c.Param("name")
   c.JSON(200,gin.H{
      "name":name,
   })
})

运行代码,postman跑一下

以上是在学习gin框架的过程中记录的一些小技巧,在此分享。

如有转载请注明出处!

及时了解关于PHP和golang的一些技术文章请关注微信公众号:文艺的爱码士