简介
1.1 介绍
Go世界里最流行的Web框架,Github上有32K+star。 基于httprouter开发的Web框架。 中文文档齐全,简单易用的轻量级框架。
- Gin是一个golang的微框架,封装比较优雅,API友好,源码注释比较明确,具有快速灵活,容错方便等特点
- 对于golang而言,web框架的依赖要远比Python,Java之类的要小。自身的net/http足够简单,性能也非常不错
- 借助框架开发,不仅可以省去很多常用的封装带来的时间,也有助于团队的编码风格和形成规范
Gin特征:
- 速度快:基于基数树的路由,内存占用少。没有反射。可预测的API性能。 中间件支持:传入的HTTP请求可以由中间件链和最终操作处理。
- Crash—free:Gin可以捕获HTTP请求期间发生的panic并恢复它。这样,你的服务器将始终可用。
- JSON验证:Gin可以解析和验证请求的JSON-例如,检查所需值的存在
- 路由分组:更好地组织您的路线。需要授权与不需要授权,不同的API版本…此外,组可以无限嵌套,而不会奖低性能。 错误管理
- Gin提供了一种方便的方法来收集HTTP请求期间发生的所有错误。最终,中间件可以将它们写入日志文件、数据库并通过网络发送它们。
- 内置渲染:Gin为JSON、XML和HTML渲染提供了一个易于使用的API
- 可扩展:创建一个新的中间件非常简单,只需查看示例代码即可
1.2 安装
要安装Gin软件包,您需要安装Go并首先设置Go工作区。
1.首先需要安装Go(需要1.10+版本),然后可以使用下面的Go命令安装Gin。
go get -u github.com/gin-gonic/gin
如果下载的时候失败,可能需要进行代理设置
- Windows 下
# 设置goproxy.io代理
go env -w GOPROXY="https://goproxy.io"
# 设置GO111MOUDLE
go env -w GO111MODULE="on"
- mac/linux下
# 设置goproxy.io代理
export GOPROXY=https://goproxy.io
# 设置GO111MOUDLE
export GO111MODULE=on
2、查看go.mod(相当于maven的pom.xml)
看看依赖是否下载成功
3、编写简单的实例、验证gin框架是否搭建成功
package main
import (
"encoding/json"
"github.com/gin-gonic/gin"
)
func main() {
//创建一个服务
ginServer := gin.Default()
//访问地址,处理我们的请求 Request Response
//gin.Context,封装了request和response
ginServer.GET("/hello", func(context *gin.Context) {
context.JSON(200, gin.H{
"msg": "hello world",
})
})
//服务器端口
//Run("里面不指定端口号默认为8080")
ginServer.Run(":8081")
在浏览器进行测试:
ok