42.1 关于Gin

在Go语言开发的WEB框架中,有两款著名WEB框架的命名都以酒有关:Martini( 马丁尼)和Gin(杜松子酒),由于我不擅于饮酒所以这两种酒的优劣暂不做评价,但说WEB框架相比较的话,Gin要比Martini强很多。

Gin是Go语言写的一个Web框架,它具有运行速度快,分组的路由器,良好的崩溃捕获和错误处理,非常好的支持中间件和JSON。总之在Go语言开发领域是一款值得好好研究的Web框架,开源网址:https://github.com/gin-gonic/gin

首先下载安装Gin包:go get -u github.com/gin-gonic/gin

一个简单的例子:

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
}

编译运行程序,打开浏览器,访问 http://localhost:8080/ping 页面显示:

{"message":"pong"}

以JSON格式输出了数据。

Gin的功能不只是简单输出JSON数据。它是一个轻量级的Web框架,支持RESTFul风格API,支持GET,POST,PUT,PATCH,DELETE,OPTIONS 等http方法,支持文件上传,分组路由,Multipart/Urlencoded FORM,以及支持JSONP,参数处理等等功能,这些都和Web紧密相关,通过提供这些功能,使开发人员更方便地处理Web业务。

下一节:接下来使用Gin作为框架来搭建一个拥有静态资源站点,动态WEB站点,以及RESTFull API接口站点(可专门作为手机APP应用提供服务使用)组成的,亦可根据情况分拆这套系统,每种功能独立出来单独提供服务。