在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
什么是Gin? Gin 是一个用 Go (Golang) 编写的 HTTP web 框架。 它是一个类似于 martini 但拥有更好性能的 API 框架, 优于 httprouter,速度提高了近 40 倍。 而且封装比较优雅,API友好,源码注释比较明确,具有快速灵活,容错方便等特点 对于golang而言,web框架的依赖要远比Python,Java之类的要小。自身的net/http足够简单,性能也非常不错 文档:https://gin-gonic.com/zh-cn/docs/
Gin安装使用: 要求:Go 1.13 及以上版本 要安装Gin软件包,您需要安装Go并首先设置Go工作区。 1、首先需要安装Go(需要1.13+版本),然后可以使用下面的Go命令安装Gin。 go get -u github.com/gin-gonic/gin 2、将 gin 引入到代码中: import "github.com/gin-gonic/gin" 3、(可选)如果使用诸如 http.StatusOK 之类的常量,则需要引入 net/http 包: import "net/http"
快速开始: 1、创建一个名为GinDemo.go的文件, touch GinDemo.go 2、GinDemo.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() // 监听并在 0.0.0.0:8080 上启动服务 } 3、执行 go run GinDemo.go 命令来运行代码: # 运行 example.go 并且在浏览器中访问 0.0.0.0:8080/ping $ go run example.go 启动日志: [GIN-debug] [WARNING] Creating an Engine instance with the Logger and Recovery middleware already attached. [GIN-debug] [WARNING] Running in "debug" mode. Switch to "release" mode in production. - using env: export GIN_MODE=release - using code: gin.SetMode(gin.ReleaseMode) [GIN-debug] GET / --> main.main.func1 (3 handlers) [GIN-debug] [WARNING] You trusted all proxies, this is NOT safe. We recommend you to set a value. Please check https://pkg.go.dev/github.com/gin-gonic/gin#readme-don-t-trust-all-proxies for details. [GIN-debug] Listening and serving HTTP on :8000
Gin路由: 基本路由:gin框架中采用的路由是基于httprouter做的,也支持Restful风格的API API参数:可以通过Context的Param方法来获取API参数 URL参数:可以通过DefaultQuery()或Query()方法获取,DefaultQuery()若参数不存在,返回默认值,Query()若不存在,返回空串 表单参数:表单传输为post请求,http常见的传输格式为四种: application/json application/x-www-form-urlencoded application/xml application/form-data 表单参数可以通过PostFrom()方法获取,该方法默认解析的是x-www-form-urlencoded或from-data格式的参数 routes group:routes group是为了管理一些相同的URL func main() { // 1.创建路由 // 默认使用了2个中间件Logger(), Recovery() r := gin.Default() // 路由组1 ,处理GET请求 v1 := r.Group("/v1") // {} 是书写规范 { v1.GET("/login", login) v1.GET("submit", submit) } v2 := r.Group("/v2") { v2.POST("/login", login) v2.POST("/submit", submit) } r.Run(":8000") }
运行main方法即可启动gin项目:go run main.go
Jsoniter: Gin 使用 encoding/json 作为默认的 json 包,但是你可以在编译中使用标签将其修改为 jsoniter。 go build -tags=jsoniter
END. |
请发表评论