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

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服务。

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

服务端运行结果:

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

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

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

其中重点核心是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框架》

    原文作者:万能的华哥Dean
    原文地址: https://www.jianshu.com/p/4290c75ba9b1
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞