用户您好!请先登录!

Gin Web Framework

Gin Web Framework

Gin是一个用Go(Golang)编写的Web框架。它具有类似马提尼的API,具有更好的性能,由于httprouter,速度提高了40倍。

如果你需要表现和良好的生产力,you will love Gin

安装

要安装Gin软件包,您需要先安装Go并设置Go工作区。

  1. 首先需要Go安装(需要1.10+版本),然后你可以使用下面的Go命令来安装Gin。
$ go get -u github.com/gin-gonic/gin

在您的代码中导入它:

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

导入net/http。例如,如果使用常量,则需要这样做http.StatusOK。

import "net/http"

使用像Govendor这样的供应商工具

  1. go get govendor
$ go get github.com/kardianos/govendor
  1. cd在里面创建你的项目文件夹
$ mkdir -p $ GOPATH /src/github.com/myusername/project && cd “ $ _ ”

如果您使用的是Mac并且正在安装Go 1.8(已发布:2017年2月)或更高版本,GOPATH将由Go工具链自动确定。它默认为$ HOME / go on macOS,因此您可以像这样创建项目

$ mkdir -p $ HOME /go/src/github.com/myusername/project && cd “ $ _ ”

供应商初始化您的项目并添加Gin

$ govendor init
$ govendor fetch github.com/gin-gonic/gin@v1.3

复制项目中的起始模板

$ curl https://raw.githubusercontent.com/gin-gonic/examples/master/basic/main.go > main.go

运行您的项目

$ go run main.go

快速开始

#假设example.go文件中的以下代码 
$ cat example.go
package main

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

func main() {
    r := gin.Default()
    r.GET("/ping", func(c *gin.Context) {
        c.JSON(200, gin.H{
            "message": "pong",
        })
    })
    r.Run() // listen and serve on 0.0.0.0:8080
}

# run example.go and visit 0.0.0.0:8080/ping on browser
$ go run example.go

使用GET,POST,PUT,PATCH,DELETE和OPTIONS

func main() {
    // Creates a gin router with default middleware:
    // logger and recovery (crash-free) middleware
    router := gin.Default()
    router.GET("/someGet", getting)
    router.POST("/somePost", posting)
    router.PUT("/somePut", putting)
    router.DELETE("/someDelete", deleting)
    router.PATCH("/somePatch", patching)
    router.HEAD("/someHead", head)
    router.OPTIONS("/someOptions", options)
    // By default it serves on :8080 unless a
    // PORT environment variable was defined.
    router.Run()
    // router.Run(":3000") for a hard coded port
}

分组路由

func main() {
    router := gin.Default()
    // Simple group: v1
    v1 := router.Group("/v1")
    {
        v1.POST("/login", loginEndpoint)
        v1.POST("/submit", submitEndpoint)
        v1.POST("/read", readEndpoint)
    }
    // Simple group: v2
    v2 := router.Group("/v2")
    {
        v2.POST("/login", loginEndpoint)
        v2.POST("/submit", submitEndpoint)
        v2.POST("/read", readEndpoint)
    }
    router.Run(":8080")
}

更多使用方法可以查看官方文档

开源地址:

https://github.com/gin-gonic/gin
X-Eyes Admin
X-Eyes Admin

要发表评论,您必须先登录