美文网首页go系列Go
【语言学习】Go语言之API开发Gin框架

【语言学习】Go语言之API开发Gin框架

作者: 万能的华哥Dean | 来源:发表于2019-01-29 20:38 被阅读122次

    1 gin框架介绍

    gin框架是Go语言进行web开发(api开发,微服务开发)框架中,功能和Martini框架类似的API,但是性能却特别好的一个框架(比Martini快将近40倍吧),所以如果你特别在乎性能,那么Gin会是一个比较好的选择。

    gin框架主要基于httprouter模块进行实现。gin框架和httprouter都是一个开源的框架。

    微服务本身即是一种开发模式,将业务拆分成为一个个细小的微服务模块,然后以api(rpc)方式对外提供实现,实现的功能是一个独立的业务模块,那么使用轻量级的gin便是一个不错的选择。

    2 gin框架包含的功能模块

    gin框架包含了以下主要功能:

    http请求的Context上下文

    基础的auth认证模块

    带颜色的logger模块

    运行模式mode设定

    响应处理的responsewriter模块

    以及路由组routergroup

    3 gin框架使用例子

    简单的api服务代码:启动一个ping,pong的api服务。

    服务端运行结果:

    客户端发起rest api请求(截图中使用的vs code中的httpclient插件)

    其中重点核心是gin.Context这个类型,gin框架封装了真个http请求打得解包过程,回调给业务层的时候直接抛出Context对象,然后Context对象可以直接调用Json方法以Json方式给客户端响应,或者JsonP方式给客户端以Jsonp方式响应。

    gin的设计模式非常简单(相对于复杂的参考pythondjango和flask基础进行设计的beego来说,少了MVC的设计思路知道,也不会严格区分model,controller,router等),但是其实是可以考虑使用MVC的模式进行一层封装的,这个有兴趣的朋友可以考虑下,就是严格吧router,controller,和model分离。

    4 gin框架性能情况

    加载不同的pai的router结构需要的存储空间对比性能:

    相关文章

      网友评论

        本文标题:【语言学习】Go语言之API开发Gin框架

        本文链接:https://www.haomeiwen.com/subject/erwxsqtx.html