暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Golang Web开发之Gin框架入门

一起Go技术 2021-10-15
1541

声明:这是一个系列,系列中,我将为您介绍Gin框架



       在本中,我为您介绍 Gin是什么,以及开始一个hello world的入门案例



Gin简介


Gin是什么?

Gin是一个用Go语言(Golang) 编写的HTTP Web框架。官方称,Gin具有类似martiniAPI,具有更好的性能,由于httprouter ,速度提高了40 倍。

如果您的后端服务需要具备性能及良好的生产力,您可以选用这款框架。借助该框架,可节省更多的开发时间,另外,由于Gin本身API封装对用户友好,也更加有利于开发者团队快速构建自己的应用。

■ ■■■

Gin的特征

Gin框架的主要特性:

● 快速:基于 Radix 树的路由,小内存占用。没有反射。可预测的 API 性能。

● 支持中间件:传入的 HTTP 请求可以由一系列中间件和最终操作来处理。例如:Logger,Authorization,GZIP,最终操作 DB。

● Crash 处理:Gin 可以 catch 一个发生在 HTTP 请求中的 panic 并 recover 它。这样,你的服务器将始终可用。例如,你可以向 Sentry 报告这个 panic!

● JSON 验证:Gin可以解析并验证请求的JSON,例如检查所需值的存在。

● 路由分组:更好地组织您的路由。您可以借助路由分组,实现哪些API需要授权,或者可以为API声明不同版本…… 此外,路由分组可以无限制地嵌套而不会降低性能。

● 错误管理:Gin 提供了一种方便的方法来收集 HTTP 请求期间发生的所有错误。最终,中间件可以将它们写入日志文件,数据库并通过网络发送它们。

● 内置渲染:Gin为JSON,XML和HTML渲染提供了各自易于使用的API。

● 可扩展性:创建一个中间件非常简单。


■ ■■■



hello world起步


这里,我们通过一个hello world案例来入门Gin。(温馨提示:在开始所有工作之前,请您想安装好Golang,并设置好您的Go工作区)。

即刻开始

1、在命令终端中,使用下面的命令下载并安装Gin框架:

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


2、在您的Go工作区创建一个main.go文件

touch main.go


3、在文件中编写如下代码:

package main


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


func main() {
r := gin.Default() // 初始化一个http服务对象
r.GET("/hi", func(c *gin.Context) {
// 通过请求上下文对象Context, 直接往客户端返回一个json
c.JSON(http.StatusOK, gin.H{
"message": "hello world",
})
})
r.Run() // listen and serve on 0.0.0.0:8080
}


4、您可以通过go run main.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 /hi --> main.main.func1 (3 handlers)[GIN-debug] Environment variable PORT is undefined. Using port :8080 by default
[GIN-debug] Listening and serving HTTP on :8080

您现在可以使用postman来访问了:


与此同时,您将在运行终端中看到一个终端日志:

[GIN] 2021/10/13 - 10:47:36 | 200 |       109.2µs |       127.0.0.1 | GET      "/hi"


至此,恭喜您已经成功运行了一个hello world的API。


提示:为方便调试,Gin 框架在运行的时候默认是debug模式,在控制台默认会打印出很多调试日志,上线的时候您应当关闭debug模式,改为release模式。

设置Gin框架运行模式:
● 通过环境变量设置:export GIN_MODE=release,其中GIN_MODE环境变量,可以设置为debug或者release。
● 通过代码设置:在main函数,初始化gin框架的时候执行下面代码

gin.SetMode(gin.ReleaseMode)  // 设置 release模式
gin.SetMode(gin.DebugMode) // 或者 设置debug模式

■ ■■■



总结

本文主要为您介绍了Gin是一款Go的HTTP Web框架,以及它的  xxx  等特性,正是由于这些特性,对于开发这来说是一款不错的框架。接着为您介绍了一个hello world的入门案例,通过这个例子,您可以更好的看到Gin框架如何使用。在您运行代码的时候,您可以清楚看到终端日志中输出了当前所有的运行模式为debug模式,该模式在开发环境使用居多,生产环境不建议使用,推荐使用release模式,文中也为您说明了设置的方法。


后续,我将为您逐步介绍Gin的一些其他教程,敬请期待~~。



一起Go技术
来学Go语言程序开发吧,致力技术的最佳实践😃。
公众号


  end 
👇👇👇👇👇👇

长按二维码关注我们吧


不要错过




文章转载自一起Go技术,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论