gin简介
gin框架是Golang语言的web框架 gin框架运行速度快,具有良好的的错误处理以及非常好的支持中间件和json。 开源网址:[github.com/gin-gonic/g…]
基础
安装与配置
$ go get gopkg.in/gin-gonic/gin
使用时进行导入操作
import "gopkg.in/gin-gonic/gin"
架构
HTTP 服务器
1.默认服务器
router.Run()
2.HTTP 服务器
除了默认服务器中 router.Run() 的方式外,还可以用 http.ListenAndServe()
简单的例子:
首先需要是生成一个 Engine,这是 gin 的核心
r := gin.Default()
这里使用GET方法注册一个服务,当我们使用HTTP GET方法的时候会使用GET注册的函数。gin支持所有的HTTP的方法例如: GET, POST, PUT, PATCH, DELETE 和 OPTIONS等。看客户端中的代码, 当调用http.Get(“http://0.0.0.0:8888/ping”)的时候, 服务端接收到请求, 并根据/ping将请求路由到func函数进行 处理,最后调用router.Run(“:8888”)开始进行监听。
API
gin支持Restful风格的API
1.获取文章 /blog/getXxx Get blog/Xxx
2.添加 /blog/addXxx POST blog/Xxx
3.修改 /blog/updateXxx PUT blog/Xxx
4.删除 /blog/delXxxx DELETE blog/Xxx
传递参数
传递参数有几种方法, 对应到gin使用几种不同的方式来解析.
第一种: 使用gin.Context中的Param方法解析
第二种: 使用gin.Context中的Query方法解析
第三种: 使用gin.Context中的PostForm方法解析
上传文件
multipart/form-data格式用于文件上传
gin文件上传与原生的net/http方法类似,不同在于gin把原生的request封装到c.Request中